Home | History | Annotate | Line # | Download | only in libgfortran
Makefile.am revision 1.1
      1 ## Process this file with automake to produce Makefile.in
      2 
      3 
      4 ACLOCAL_AMFLAGS = -I .. -I ../config
      5 
      6 ## May be used by toolexeclibdir.
      7 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
      8 
      9 ## Symbol versioning (copied from libssp).
     10 if LIBGFOR_USE_SYMVER
     11 if LIBGFOR_USE_SYMVER_GNU
     12 version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
     13 version_dep = $(srcdir)/gfortran.map
     14 endif
     15 if LIBGFOR_USE_SYMVER_SUN
     16 version_arg = -Wl,-M,gfortran.map-sun
     17 version_dep = gfortran.map-sun
     18 gfortran.map-sun : $(srcdir)/gfortran.map \
     19 		$(top_srcdir)/../contrib/make_sunver.pl \
     20 		$(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD)
     21 	perl $(top_srcdir)/../contrib/make_sunver.pl \
     22 	  $(srcdir)/gfortran.map \
     23 	  $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \
     24 	 `echo $(libgfortran_la_LIBADD) | \
     25 	    sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
     26 	 > $@ || (rm -f $@ ; exit 1)
     27 endif
     28 else
     29 version_arg =
     30 version_dep =
     31 endif
     32 
     33 gfor_c_HEADERS = $(srcdir)/ISO_Fortran_binding.h
     34 gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
     35 
     36 LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \
     37 	    $(lt_host_flags)
     38 
     39 toolexeclib_LTLIBRARIES = libgfortran.la
     40 toolexeclib_DATA = libgfortran.spec
     41 libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
     42 libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
     43 	$(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \
     44 	$(HWCAP_LDFLAGS) \
     45 	-lm $(extra_ldflags_libgfortran) \
     46 	$(version_arg) -Wc,-shared-libgcc
     47 libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
     48 
     49 cafexeclib_LTLIBRARIES = libcaf_single.la
     50 cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
     51 libcaf_single_la_SOURCES = caf/single.c
     52 libcaf_single_la_LDFLAGS = -static
     53 libcaf_single_la_DEPENDENCIES = caf/libcaf.h
     54 libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
     55 
     56 if IEEE_SUPPORT
     57 fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
     58 nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
     59 endif
     60 
     61 ## io.h conflicts with a system header on some platforms, so
     62 ## use -iquote
     63 AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
     64 	      -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \
     65 	      -I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
     66 	      -I$(srcdir)/$(MULTISRCTOP)../libgcc \
     67 	      -I$(MULTIBUILDTOP)../libgcc \
     68 	      -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
     69 	      -I$(MULTIBUILDTOP)../libbacktrace \
     70 	      -I../libbacktrace
     71 
     72 # Fortran rules for complex multiplication and division
     73 AM_CFLAGS += -fcx-fortran-rules
     74 
     75 # Use -ffunction-sections -fdata-sections if supported by the compiler
     76 AM_CFLAGS += $(SECTION_FLAGS)
     77 
     78 # Some targets require additional compiler options for IEEE compatibility.
     79 AM_CFLAGS += $(IEEE_FLAGS)
     80 AM_FCFLAGS += $(IEEE_FLAGS)
     81 
     82 if LIBGFOR_MINIMAL
     83 AM_CFLAGS += -DLIBGFOR_MINIMAL
     84 endif
     85 
     86 gfor_io_src= \
     87 io/size_from_kind.c
     88 
     89 if !LIBGFOR_MINIMAL
     90 
     91 gfor_io_src+= \
     92 io/close.c \
     93 io/file_pos.c \
     94 io/format.c \
     95 io/inquire.c \
     96 io/intrinsics.c \
     97 io/list_read.c \
     98 io/lock.c \
     99 io/open.c \
    100 io/read.c \
    101 io/transfer.c \
    102 io/transfer128.c \
    103 io/unit.c \
    104 io/unix.c \
    105 io/write.c \
    106 io/fbuf.c \
    107 io/async.c
    108 
    109 endif
    110 
    111 gfor_io_headers= \
    112 io/io.h \
    113 io/fbuf.h \
    114 io/format.h \
    115 io/unix.h \
    116 io/async.h
    117 
    118 gfor_helper_src= \
    119 intrinsics/associated.c \
    120 intrinsics/abort.c \
    121 intrinsics/args.c \
    122 intrinsics/cshift0.c \
    123 intrinsics/eoshift0.c \
    124 intrinsics/eoshift2.c \
    125 intrinsics/erfc_scaled.c \
    126 intrinsics/extends_type_of.c \
    127 intrinsics/fnum.c \
    128 intrinsics/ierrno.c \
    129 intrinsics/ishftc.c \
    130 intrinsics/is_contiguous.c \
    131 intrinsics/mvbits.c \
    132 intrinsics/move_alloc.c \
    133 intrinsics/pack_generic.c \
    134 intrinsics/selected_char_kind.c \
    135 intrinsics/size.c \
    136 intrinsics/spread_generic.c \
    137 intrinsics/string_intrinsics.c \
    138 intrinsics/rand.c \
    139 intrinsics/random.c \
    140 intrinsics/reshape_generic.c \
    141 intrinsics/reshape_packed.c \
    142 intrinsics/selected_int_kind.f90 \
    143 intrinsics/selected_real_kind.f90 \
    144 intrinsics/unpack_generic.c \
    145 runtime/in_pack_generic.c \
    146 runtime/in_unpack_generic.c
    147 
    148 if !LIBGFOR_MINIMAL
    149 
    150 gfor_helper_src+= \
    151 intrinsics/access.c \
    152 intrinsics/c99_functions.c \
    153 intrinsics/chdir.c \
    154 intrinsics/chmod.c \
    155 intrinsics/clock.c \
    156 intrinsics/cpu_time.c \
    157 intrinsics/ctime.c \
    158 intrinsics/date_and_time.c \
    159 intrinsics/dtime.c \
    160 intrinsics/env.c \
    161 intrinsics/etime.c \
    162 intrinsics/execute_command_line.c \
    163 intrinsics/exit.c \
    164 intrinsics/gerror.c \
    165 intrinsics/getcwd.c \
    166 intrinsics/getlog.c \
    167 intrinsics/getXid.c \
    168 intrinsics/hostnm.c \
    169 intrinsics/kill.c \
    170 intrinsics/link.c \
    171 intrinsics/perror.c \
    172 intrinsics/signal.c \
    173 intrinsics/sleep.c \
    174 intrinsics/system.c \
    175 intrinsics/rename.c \
    176 intrinsics/stat.c \
    177 intrinsics/symlnk.c \
    178 intrinsics/system_clock.c \
    179 intrinsics/time.c \
    180 intrinsics/umask.c \
    181 intrinsics/unlink.c
    182 
    183 endif
    184 
    185 if IEEE_SUPPORT
    186 
    187 gfor_helper_src+=ieee/ieee_helper.c
    188 
    189 gfor_ieee_src= \
    190 ieee/ieee_arithmetic.F90 \
    191 ieee/ieee_exceptions.F90 \
    192 ieee/ieee_features.F90
    193 
    194 else
    195 
    196 gfor_ieee_src=
    197 
    198 endif
    199 
    200 gfor_src= \
    201 runtime/bounds.c \
    202 runtime/compile_options.c \
    203 runtime/memory.c \
    204 runtime/string.c \
    205 runtime/select.c
    206 
    207 if LIBGFOR_MINIMAL
    208 
    209 gfor_src+= runtime/minimal.c
    210 
    211 else
    212 
    213 gfor_src+= \
    214 runtime/backtrace.c \
    215 runtime/convert_char.c \
    216 runtime/environ.c \
    217 runtime/error.c \
    218 runtime/fpu.c \
    219 runtime/main.c \
    220 runtime/pause.c \
    221 runtime/stop.c
    222 
    223 endif
    224 
    225 i_all_c= \
    226 $(srcdir)/generated/all_l1.c \
    227 $(srcdir)/generated/all_l2.c \
    228 $(srcdir)/generated/all_l4.c \
    229 $(srcdir)/generated/all_l8.c \
    230 $(srcdir)/generated/all_l16.c
    231 
    232 i_any_c= \
    233 $(srcdir)/generated/any_l1.c \
    234 $(srcdir)/generated/any_l2.c \
    235 $(srcdir)/generated/any_l4.c \
    236 $(srcdir)/generated/any_l8.c \
    237 $(srcdir)/generated/any_l16.c
    238 
    239 i_bessel_c= \
    240 $(srcdir)/generated/bessel_r4.c \
    241 $(srcdir)/generated/bessel_r8.c \
    242 $(srcdir)/generated/bessel_r10.c \
    243 $(srcdir)/generated/bessel_r16.c
    244 
    245 i_count_c= \
    246 $(srcdir)/generated/count_1_l.c \
    247 $(srcdir)/generated/count_2_l.c \
    248 $(srcdir)/generated/count_4_l.c \
    249 $(srcdir)/generated/count_8_l.c \
    250 $(srcdir)/generated/count_16_l.c
    251 
    252 i_iall_c= \
    253 $(srcdir)/generated/iall_i1.c \
    254 $(srcdir)/generated/iall_i2.c \
    255 $(srcdir)/generated/iall_i4.c \
    256 $(srcdir)/generated/iall_i8.c \
    257 $(srcdir)/generated/iall_i16.c
    258 
    259 i_iany_c= \
    260 $(srcdir)/generated/iany_i1.c \
    261 $(srcdir)/generated/iany_i2.c \
    262 $(srcdir)/generated/iany_i4.c \
    263 $(srcdir)/generated/iany_i8.c \
    264 $(srcdir)/generated/iany_i16.c
    265 
    266 i_iparity_c= \
    267 $(srcdir)/generated/iparity_i1.c \
    268 $(srcdir)/generated/iparity_i2.c \
    269 $(srcdir)/generated/iparity_i4.c \
    270 $(srcdir)/generated/iparity_i8.c \
    271 $(srcdir)/generated/iparity_i16.c
    272 
    273 i_findloc0_c= \
    274 $(srcdir)/generated/findloc0_i1.c \
    275 $(srcdir)/generated/findloc0_i2.c \
    276 $(srcdir)/generated/findloc0_i4.c \
    277 $(srcdir)/generated/findloc0_i8.c \
    278 $(srcdir)/generated/findloc0_i16.c \
    279 $(srcdir)/generated/findloc0_r4.c \
    280 $(srcdir)/generated/findloc0_r8.c \
    281 $(srcdir)/generated/findloc0_r10.c \
    282 $(srcdir)/generated/findloc0_r16.c \
    283 $(srcdir)/generated/findloc0_c4.c \
    284 $(srcdir)/generated/findloc0_c8.c \
    285 $(srcdir)/generated/findloc0_c16.c
    286 
    287 i_findloc0s_c= \
    288 $(srcdir)/generated/findloc0_s1.c \
    289 $(srcdir)/generated/findloc0_s4.c
    290 
    291 i_findloc1_c= \
    292 $(srcdir)/generated/findloc1_i1.c \
    293 $(srcdir)/generated/findloc1_i2.c \
    294 $(srcdir)/generated/findloc1_i4.c \
    295 $(srcdir)/generated/findloc1_i8.c \
    296 $(srcdir)/generated/findloc1_i16.c \
    297 $(srcdir)/generated/findloc1_r4.c \
    298 $(srcdir)/generated/findloc1_r8.c \
    299 $(srcdir)/generated/findloc1_r10.c \
    300 $(srcdir)/generated/findloc1_r16.c \
    301 $(srcdir)/generated/findloc1_c4.c \
    302 $(srcdir)/generated/findloc1_c8.c \
    303 $(srcdir)/generated/findloc1_c16.c
    304 
    305 i_findloc1s_c= \
    306 $(srcdir)/generated/findloc1_s1.c \
    307 $(srcdir)/generated/findloc1_s4.c
    308 
    309 i_findloc2s_c= \
    310 $(srcdir)/generated/findloc2_s1.c \
    311 $(srcdir)/generated/findloc2_s4.c
    312 
    313 i_maxloc0_c= \
    314 $(srcdir)/generated/maxloc0_4_i1.c \
    315 $(srcdir)/generated/maxloc0_8_i1.c \
    316 $(srcdir)/generated/maxloc0_16_i1.c \
    317 $(srcdir)/generated/maxloc0_4_i2.c \
    318 $(srcdir)/generated/maxloc0_8_i2.c \
    319 $(srcdir)/generated/maxloc0_16_i2.c \
    320 $(srcdir)/generated/maxloc0_4_i4.c \
    321 $(srcdir)/generated/maxloc0_8_i4.c \
    322 $(srcdir)/generated/maxloc0_16_i4.c \
    323 $(srcdir)/generated/maxloc0_4_i8.c \
    324 $(srcdir)/generated/maxloc0_8_i8.c \
    325 $(srcdir)/generated/maxloc0_16_i8.c \
    326 $(srcdir)/generated/maxloc0_4_i16.c \
    327 $(srcdir)/generated/maxloc0_8_i16.c \
    328 $(srcdir)/generated/maxloc0_16_i16.c \
    329 $(srcdir)/generated/maxloc0_4_r4.c \
    330 $(srcdir)/generated/maxloc0_8_r4.c \
    331 $(srcdir)/generated/maxloc0_16_r4.c \
    332 $(srcdir)/generated/maxloc0_4_r8.c \
    333 $(srcdir)/generated/maxloc0_8_r8.c \
    334 $(srcdir)/generated/maxloc0_16_r8.c \
    335 $(srcdir)/generated/maxloc0_4_r10.c \
    336 $(srcdir)/generated/maxloc0_8_r10.c \
    337 $(srcdir)/generated/maxloc0_16_r10.c \
    338 $(srcdir)/generated/maxloc0_4_r16.c \
    339 $(srcdir)/generated/maxloc0_8_r16.c \
    340 $(srcdir)/generated/maxloc0_16_r16.c
    341 
    342 i_maxloc0s_c = \
    343 $(srcdir)/generated/maxloc0_4_s1.c \
    344 $(srcdir)/generated/maxloc0_4_s4.c \
    345 $(srcdir)/generated/maxloc0_8_s1.c \
    346 $(srcdir)/generated/maxloc0_8_s4.c \
    347 $(srcdir)/generated/maxloc0_16_s1.c \
    348 $(srcdir)/generated/maxloc0_16_s4.c
    349 
    350 i_maxloc1_c= \
    351 $(srcdir)/generated/maxloc1_4_i1.c \
    352 $(srcdir)/generated/maxloc1_8_i1.c \
    353 $(srcdir)/generated/maxloc1_16_i1.c \
    354 $(srcdir)/generated/maxloc1_4_i2.c \
    355 $(srcdir)/generated/maxloc1_8_i2.c \
    356 $(srcdir)/generated/maxloc1_16_i2.c \
    357 $(srcdir)/generated/maxloc1_4_i4.c \
    358 $(srcdir)/generated/maxloc1_8_i4.c \
    359 $(srcdir)/generated/maxloc1_16_i4.c \
    360 $(srcdir)/generated/maxloc1_4_i8.c \
    361 $(srcdir)/generated/maxloc1_8_i8.c \
    362 $(srcdir)/generated/maxloc1_16_i8.c \
    363 $(srcdir)/generated/maxloc1_4_i16.c \
    364 $(srcdir)/generated/maxloc1_8_i16.c \
    365 $(srcdir)/generated/maxloc1_16_i16.c \
    366 $(srcdir)/generated/maxloc1_4_r4.c \
    367 $(srcdir)/generated/maxloc1_8_r4.c \
    368 $(srcdir)/generated/maxloc1_16_r4.c \
    369 $(srcdir)/generated/maxloc1_4_r8.c \
    370 $(srcdir)/generated/maxloc1_8_r8.c \
    371 $(srcdir)/generated/maxloc1_16_r8.c \
    372 $(srcdir)/generated/maxloc1_4_r10.c \
    373 $(srcdir)/generated/maxloc1_8_r10.c \
    374 $(srcdir)/generated/maxloc1_16_r10.c \
    375 $(srcdir)/generated/maxloc1_4_r16.c \
    376 $(srcdir)/generated/maxloc1_8_r16.c \
    377 $(srcdir)/generated/maxloc1_16_r16.c
    378 
    379 i_maxloc1s_c= \
    380 $(srcdir)/generated/maxloc1_4_s1.c \
    381 $(srcdir)/generated/maxloc1_4_s4.c \
    382 $(srcdir)/generated/maxloc1_8_s1.c \
    383 $(srcdir)/generated/maxloc1_8_s4.c \
    384 $(srcdir)/generated/maxloc1_16_s1.c \
    385 $(srcdir)/generated/maxloc1_16_s4.c
    386 
    387 i_maxloc2s_c= \
    388 $(srcdir)/generated/maxloc2_4_s1.c \
    389 $(srcdir)/generated/maxloc2_4_s4.c \
    390 $(srcdir)/generated/maxloc2_8_s1.c \
    391 $(srcdir)/generated/maxloc2_8_s4.c \
    392 $(srcdir)/generated/maxloc2_16_s1.c \
    393 $(srcdir)/generated/maxloc2_16_s4.c
    394 
    395 i_maxval_c= \
    396 $(srcdir)/generated/maxval_i1.c \
    397 $(srcdir)/generated/maxval_i2.c \
    398 $(srcdir)/generated/maxval_i4.c \
    399 $(srcdir)/generated/maxval_i8.c \
    400 $(srcdir)/generated/maxval_i16.c \
    401 $(srcdir)/generated/maxval_r4.c \
    402 $(srcdir)/generated/maxval_r8.c \
    403 $(srcdir)/generated/maxval_r10.c \
    404 $(srcdir)/generated/maxval_r16.c
    405 
    406 i_maxval0s_c=\
    407 $(srcdir)/generated/maxval0_s1.c \
    408 $(srcdir)/generated/maxval0_s4.c
    409 
    410 i_maxval1s_c=\
    411 $(srcdir)/generated/maxval1_s1.c \
    412 $(srcdir)/generated/maxval1_s4.c
    413 
    414 i_minloc0_c= \
    415 $(srcdir)/generated/minloc0_4_i1.c \
    416 $(srcdir)/generated/minloc0_8_i1.c \
    417 $(srcdir)/generated/minloc0_16_i1.c \
    418 $(srcdir)/generated/minloc0_4_i2.c \
    419 $(srcdir)/generated/minloc0_8_i2.c \
    420 $(srcdir)/generated/minloc0_16_i2.c \
    421 $(srcdir)/generated/minloc0_4_i4.c \
    422 $(srcdir)/generated/minloc0_8_i4.c \
    423 $(srcdir)/generated/minloc0_16_i4.c \
    424 $(srcdir)/generated/minloc0_4_i8.c \
    425 $(srcdir)/generated/minloc0_8_i8.c \
    426 $(srcdir)/generated/minloc0_16_i8.c \
    427 $(srcdir)/generated/minloc0_4_i16.c \
    428 $(srcdir)/generated/minloc0_8_i16.c \
    429 $(srcdir)/generated/minloc0_16_i16.c \
    430 $(srcdir)/generated/minloc0_4_r4.c \
    431 $(srcdir)/generated/minloc0_8_r4.c \
    432 $(srcdir)/generated/minloc0_16_r4.c \
    433 $(srcdir)/generated/minloc0_4_r8.c \
    434 $(srcdir)/generated/minloc0_8_r8.c \
    435 $(srcdir)/generated/minloc0_16_r8.c \
    436 $(srcdir)/generated/minloc0_4_r10.c \
    437 $(srcdir)/generated/minloc0_8_r10.c \
    438 $(srcdir)/generated/minloc0_16_r10.c \
    439 $(srcdir)/generated/minloc0_4_r16.c \
    440 $(srcdir)/generated/minloc0_8_r16.c \
    441 $(srcdir)/generated/minloc0_16_r16.c
    442 
    443 i_minloc0s_c = \
    444 $(srcdir)/generated/minloc0_4_s1.c \
    445 $(srcdir)/generated/minloc0_4_s4.c \
    446 $(srcdir)/generated/minloc0_8_s1.c \
    447 $(srcdir)/generated/minloc0_8_s4.c \
    448 $(srcdir)/generated/minloc0_16_s1.c \
    449 $(srcdir)/generated/minloc0_16_s4.c
    450 
    451 i_minloc1_c= \
    452 $(srcdir)/generated/minloc1_4_i1.c \
    453 $(srcdir)/generated/minloc1_8_i1.c \
    454 $(srcdir)/generated/minloc1_16_i1.c \
    455 $(srcdir)/generated/minloc1_4_i2.c \
    456 $(srcdir)/generated/minloc1_8_i2.c \
    457 $(srcdir)/generated/minloc1_16_i2.c \
    458 $(srcdir)/generated/minloc1_4_i4.c \
    459 $(srcdir)/generated/minloc1_8_i4.c \
    460 $(srcdir)/generated/minloc1_16_i4.c \
    461 $(srcdir)/generated/minloc1_4_i8.c \
    462 $(srcdir)/generated/minloc1_8_i8.c \
    463 $(srcdir)/generated/minloc1_16_i8.c \
    464 $(srcdir)/generated/minloc1_4_i16.c \
    465 $(srcdir)/generated/minloc1_8_i16.c \
    466 $(srcdir)/generated/minloc1_16_i16.c \
    467 $(srcdir)/generated/minloc1_4_r4.c \
    468 $(srcdir)/generated/minloc1_8_r4.c \
    469 $(srcdir)/generated/minloc1_16_r4.c \
    470 $(srcdir)/generated/minloc1_4_r8.c \
    471 $(srcdir)/generated/minloc1_8_r8.c \
    472 $(srcdir)/generated/minloc1_16_r8.c \
    473 $(srcdir)/generated/minloc1_4_r10.c \
    474 $(srcdir)/generated/minloc1_8_r10.c \
    475 $(srcdir)/generated/minloc1_16_r10.c \
    476 $(srcdir)/generated/minloc1_4_r16.c \
    477 $(srcdir)/generated/minloc1_8_r16.c \
    478 $(srcdir)/generated/minloc1_16_r16.c
    479 
    480 i_minloc1s_c= \
    481 $(srcdir)/generated/minloc1_4_s1.c \
    482 $(srcdir)/generated/minloc1_4_s4.c \
    483 $(srcdir)/generated/minloc1_8_s1.c \
    484 $(srcdir)/generated/minloc1_8_s4.c \
    485 $(srcdir)/generated/minloc1_16_s1.c \
    486 $(srcdir)/generated/minloc1_16_s4.c
    487 
    488 i_minloc2s_c= \
    489 $(srcdir)/generated/minloc2_4_s1.c \
    490 $(srcdir)/generated/minloc2_4_s4.c \
    491 $(srcdir)/generated/minloc2_8_s1.c \
    492 $(srcdir)/generated/minloc2_8_s4.c \
    493 $(srcdir)/generated/minloc2_16_s1.c \
    494 $(srcdir)/generated/minloc2_16_s4.c
    495 
    496 i_minval_c= \
    497 $(srcdir)/generated/minval_i1.c \
    498 $(srcdir)/generated/minval_i2.c \
    499 $(srcdir)/generated/minval_i4.c \
    500 $(srcdir)/generated/minval_i8.c \
    501 $(srcdir)/generated/minval_i16.c \
    502 $(srcdir)/generated/minval_r4.c \
    503 $(srcdir)/generated/minval_r8.c \
    504 $(srcdir)/generated/minval_r10.c \
    505 $(srcdir)/generated/minval_r16.c
    506 
    507 i_minval0s_c=\
    508 $(srcdir)/generated/minval0_s1.c \
    509 $(srcdir)/generated/minval0_s4.c
    510 
    511 i_minval1s_c=\
    512 $(srcdir)/generated/minval1_s1.c \
    513 $(srcdir)/generated/minval1_s4.c
    514 
    515 i_norm2_c= \
    516 $(srcdir)/generated/norm2_r4.c \
    517 $(srcdir)/generated/norm2_r8.c \
    518 $(srcdir)/generated/norm2_r10.c \
    519 $(srcdir)/generated/norm2_r16.c
    520 
    521 i_parity_c = \
    522 $(srcdir)/generated/parity_l1.c \
    523 $(srcdir)/generated/parity_l2.c \
    524 $(srcdir)/generated/parity_l4.c \
    525 $(srcdir)/generated/parity_l8.c \
    526 $(srcdir)/generated/parity_l16.c
    527 
    528 i_sum_c= \
    529 $(srcdir)/generated/sum_i1.c \
    530 $(srcdir)/generated/sum_i2.c \
    531 $(srcdir)/generated/sum_i4.c \
    532 $(srcdir)/generated/sum_i8.c \
    533 $(srcdir)/generated/sum_i16.c \
    534 $(srcdir)/generated/sum_r4.c \
    535 $(srcdir)/generated/sum_r8.c \
    536 $(srcdir)/generated/sum_r10.c \
    537 $(srcdir)/generated/sum_r16.c \
    538 $(srcdir)/generated/sum_c4.c \
    539 $(srcdir)/generated/sum_c8.c \
    540 $(srcdir)/generated/sum_c10.c \
    541 $(srcdir)/generated/sum_c16.c
    542 
    543 i_product_c= \
    544 $(srcdir)/generated/product_i1.c \
    545 $(srcdir)/generated/product_i2.c \
    546 $(srcdir)/generated/product_i4.c \
    547 $(srcdir)/generated/product_i8.c \
    548 $(srcdir)/generated/product_i16.c \
    549 $(srcdir)/generated/product_r4.c \
    550 $(srcdir)/generated/product_r8.c \
    551 $(srcdir)/generated/product_r10.c \
    552 $(srcdir)/generated/product_r16.c \
    553 $(srcdir)/generated/product_c4.c \
    554 $(srcdir)/generated/product_c8.c \
    555 $(srcdir)/generated/product_c10.c \
    556 $(srcdir)/generated/product_c16.c
    557 
    558 i_matmul_c= \
    559 $(srcdir)/generated/matmul_i1.c \
    560 $(srcdir)/generated/matmul_i2.c \
    561 $(srcdir)/generated/matmul_i4.c \
    562 $(srcdir)/generated/matmul_i8.c \
    563 $(srcdir)/generated/matmul_i16.c \
    564 $(srcdir)/generated/matmul_r4.c \
    565 $(srcdir)/generated/matmul_r8.c \
    566 $(srcdir)/generated/matmul_r10.c \
    567 $(srcdir)/generated/matmul_r16.c \
    568 $(srcdir)/generated/matmul_c4.c \
    569 $(srcdir)/generated/matmul_c8.c \
    570 $(srcdir)/generated/matmul_c10.c \
    571 $(srcdir)/generated/matmul_c16.c
    572 
    573 i_matmulavx128_c= \
    574 $(srcdir)/generated/matmulavx128_i1.c \
    575 $(srcdir)/generated/matmulavx128_i2.c \
    576 $(srcdir)/generated/matmulavx128_i4.c \
    577 $(srcdir)/generated/matmulavx128_i8.c \
    578 $(srcdir)/generated/matmulavx128_i16.c \
    579 $(srcdir)/generated/matmulavx128_r4.c \
    580 $(srcdir)/generated/matmulavx128_r8.c \
    581 $(srcdir)/generated/matmulavx128_r10.c \
    582 $(srcdir)/generated/matmulavx128_r16.c \
    583 $(srcdir)/generated/matmulavx128_c4.c \
    584 $(srcdir)/generated/matmulavx128_c8.c \
    585 $(srcdir)/generated/matmulavx128_c10.c \
    586 $(srcdir)/generated/matmulavx128_c16.c
    587 
    588 i_matmull_c= \
    589 $(srcdir)/generated/matmul_l4.c \
    590 $(srcdir)/generated/matmul_l8.c \
    591 $(srcdir)/generated/matmul_l16.c
    592 
    593 i_shape_c= \
    594 $(srcdir)/generated/shape_i1.c \
    595 $(srcdir)/generated/shape_i2.c \
    596 $(srcdir)/generated/shape_i4.c \
    597 $(srcdir)/generated/shape_i8.c \
    598 $(srcdir)/generated/shape_i16.c
    599 
    600 i_reshape_c= \
    601 $(srcdir)/generated/reshape_i4.c \
    602 $(srcdir)/generated/reshape_i8.c \
    603 $(srcdir)/generated/reshape_i16.c \
    604 $(srcdir)/generated/reshape_r4.c \
    605 $(srcdir)/generated/reshape_r8.c \
    606 $(srcdir)/generated/reshape_r10.c \
    607 $(srcdir)/generated/reshape_r16.c \
    608 $(srcdir)/generated/reshape_c4.c \
    609 $(srcdir)/generated/reshape_c8.c \
    610 $(srcdir)/generated/reshape_c10.c \
    611 $(srcdir)/generated/reshape_c16.c
    612 
    613 i_eoshift1_c= \
    614 $(srcdir)/generated/eoshift1_4.c \
    615 $(srcdir)/generated/eoshift1_8.c \
    616 $(srcdir)/generated/eoshift1_16.c
    617 
    618 i_eoshift3_c= \
    619 $(srcdir)/generated/eoshift3_4.c \
    620 $(srcdir)/generated/eoshift3_8.c \
    621 $(srcdir)/generated/eoshift3_16.c
    622 
    623 i_cshift0_c= \
    624 $(srcdir)/generated/cshift0_i1.c \
    625 $(srcdir)/generated/cshift0_i2.c \
    626 $(srcdir)/generated/cshift0_i4.c \
    627 $(srcdir)/generated/cshift0_i8.c \
    628 $(srcdir)/generated/cshift0_i16.c \
    629 $(srcdir)/generated/cshift0_r4.c \
    630 $(srcdir)/generated/cshift0_r8.c \
    631 $(srcdir)/generated/cshift0_r10.c \
    632 $(srcdir)/generated/cshift0_r16.c \
    633 $(srcdir)/generated/cshift0_c4.c \
    634 $(srcdir)/generated/cshift0_c8.c \
    635 $(srcdir)/generated/cshift0_c10.c \
    636 $(srcdir)/generated/cshift0_c16.c
    637 
    638 i_cshift1_c= \
    639 $(srcdir)/generated/cshift1_4.c \
    640 $(srcdir)/generated/cshift1_8.c \
    641 $(srcdir)/generated/cshift1_16.c
    642 
    643 i_cshift1a_c = \
    644 $(srcdir)/generated/cshift1_4_i1.c \
    645 $(srcdir)/generated/cshift1_4_i2.c \
    646 $(srcdir)/generated/cshift1_4_i4.c \
    647 $(srcdir)/generated/cshift1_4_i8.c \
    648 $(srcdir)/generated/cshift1_4_i16.c \
    649 $(srcdir)/generated/cshift1_4_r4.c \
    650 $(srcdir)/generated/cshift1_4_r8.c \
    651 $(srcdir)/generated/cshift1_4_r10.c \
    652 $(srcdir)/generated/cshift1_4_r16.c \
    653 $(srcdir)/generated/cshift1_4_c4.c \
    654 $(srcdir)/generated/cshift1_4_c8.c \
    655 $(srcdir)/generated/cshift1_4_c10.c \
    656 $(srcdir)/generated/cshift1_4_c16.c \
    657 $(srcdir)/generated/cshift1_8_i1.c \
    658 $(srcdir)/generated/cshift1_8_i2.c \
    659 $(srcdir)/generated/cshift1_8_i4.c \
    660 $(srcdir)/generated/cshift1_8_i8.c \
    661 $(srcdir)/generated/cshift1_8_i16.c \
    662 $(srcdir)/generated/cshift1_8_r4.c \
    663 $(srcdir)/generated/cshift1_8_r8.c \
    664 $(srcdir)/generated/cshift1_8_r10.c \
    665 $(srcdir)/generated/cshift1_8_r16.c \
    666 $(srcdir)/generated/cshift1_8_c4.c \
    667 $(srcdir)/generated/cshift1_8_c8.c \
    668 $(srcdir)/generated/cshift1_8_c10.c \
    669 $(srcdir)/generated/cshift1_8_c16.c \
    670 $(srcdir)/generated/cshift1_16_i1.c \
    671 $(srcdir)/generated/cshift1_16_i2.c \
    672 $(srcdir)/generated/cshift1_16_i4.c \
    673 $(srcdir)/generated/cshift1_16_i8.c \
    674 $(srcdir)/generated/cshift1_16_i16.c \
    675 $(srcdir)/generated/cshift1_16_r4.c \
    676 $(srcdir)/generated/cshift1_16_r8.c \
    677 $(srcdir)/generated/cshift1_16_r10.c \
    678 $(srcdir)/generated/cshift1_16_r16.c \
    679 $(srcdir)/generated/cshift1_16_c4.c \
    680 $(srcdir)/generated/cshift1_16_c8.c \
    681 $(srcdir)/generated/cshift1_16_c10.c \
    682 $(srcdir)/generated/cshift1_16_c16.c
    683 
    684 in_pack_c = \
    685 $(srcdir)/generated/in_pack_i1.c \
    686 $(srcdir)/generated/in_pack_i2.c \
    687 $(srcdir)/generated/in_pack_i4.c \
    688 $(srcdir)/generated/in_pack_i8.c \
    689 $(srcdir)/generated/in_pack_i16.c \
    690 $(srcdir)/generated/in_pack_r4.c \
    691 $(srcdir)/generated/in_pack_r8.c \
    692 $(srcdir)/generated/in_pack_r10.c \
    693 $(srcdir)/generated/in_pack_r16.c \
    694 $(srcdir)/generated/in_pack_c4.c \
    695 $(srcdir)/generated/in_pack_c8.c \
    696 $(srcdir)/generated/in_pack_c10.c \
    697 $(srcdir)/generated/in_pack_c16.c
    698 
    699 in_unpack_c = \
    700 $(srcdir)/generated/in_unpack_i1.c \
    701 $(srcdir)/generated/in_unpack_i2.c \
    702 $(srcdir)/generated/in_unpack_i4.c \
    703 $(srcdir)/generated/in_unpack_i8.c \
    704 $(srcdir)/generated/in_unpack_i16.c \
    705 $(srcdir)/generated/in_unpack_r4.c \
    706 $(srcdir)/generated/in_unpack_r8.c \
    707 $(srcdir)/generated/in_unpack_r10.c \
    708 $(srcdir)/generated/in_unpack_r16.c \
    709 $(srcdir)/generated/in_unpack_c4.c \
    710 $(srcdir)/generated/in_unpack_c8.c \
    711 $(srcdir)/generated/in_unpack_c10.c \
    712 $(srcdir)/generated/in_unpack_c16.c
    713 
    714 i_pow_c = \
    715 $(srcdir)/generated/pow_i4_i4.c \
    716 $(srcdir)/generated/pow_i8_i4.c \
    717 $(srcdir)/generated/pow_i16_i4.c \
    718 $(srcdir)/generated/pow_r16_i4.c \
    719 $(srcdir)/generated/pow_c4_i4.c \
    720 $(srcdir)/generated/pow_c8_i4.c \
    721 $(srcdir)/generated/pow_c10_i4.c \
    722 $(srcdir)/generated/pow_c16_i4.c \
    723 $(srcdir)/generated/pow_i4_i8.c \
    724 $(srcdir)/generated/pow_i8_i8.c \
    725 $(srcdir)/generated/pow_i16_i8.c \
    726 $(srcdir)/generated/pow_r4_i8.c \
    727 $(srcdir)/generated/pow_r8_i8.c \
    728 $(srcdir)/generated/pow_r10_i8.c \
    729 $(srcdir)/generated/pow_r16_i8.c \
    730 $(srcdir)/generated/pow_c4_i8.c \
    731 $(srcdir)/generated/pow_c8_i8.c \
    732 $(srcdir)/generated/pow_c10_i8.c \
    733 $(srcdir)/generated/pow_c16_i8.c \
    734 $(srcdir)/generated/pow_i4_i16.c \
    735 $(srcdir)/generated/pow_i8_i16.c \
    736 $(srcdir)/generated/pow_i16_i16.c \
    737 $(srcdir)/generated/pow_r4_i16.c \
    738 $(srcdir)/generated/pow_r8_i16.c \
    739 $(srcdir)/generated/pow_r10_i16.c \
    740 $(srcdir)/generated/pow_r16_i16.c \
    741 $(srcdir)/generated/pow_c4_i16.c \
    742 $(srcdir)/generated/pow_c8_i16.c \
    743 $(srcdir)/generated/pow_c10_i16.c \
    744 $(srcdir)/generated/pow_c16_i16.c
    745 
    746 i_pack_c = \
    747 $(srcdir)/generated/pack_i1.c \
    748 $(srcdir)/generated/pack_i2.c \
    749 $(srcdir)/generated/pack_i4.c \
    750 $(srcdir)/generated/pack_i8.c \
    751 $(srcdir)/generated/pack_i16.c \
    752 $(srcdir)/generated/pack_r4.c \
    753 $(srcdir)/generated/pack_r8.c \
    754 $(srcdir)/generated/pack_r10.c \
    755 $(srcdir)/generated/pack_r16.c \
    756 $(srcdir)/generated/pack_c4.c \
    757 $(srcdir)/generated/pack_c8.c \
    758 $(srcdir)/generated/pack_c10.c \
    759 $(srcdir)/generated/pack_c16.c
    760 
    761 i_unpack_c = \
    762 $(srcdir)/generated/unpack_i1.c \
    763 $(srcdir)/generated/unpack_i2.c \
    764 $(srcdir)/generated/unpack_i4.c \
    765 $(srcdir)/generated/unpack_i8.c \
    766 $(srcdir)/generated/unpack_i16.c \
    767 $(srcdir)/generated/unpack_r4.c \
    768 $(srcdir)/generated/unpack_r8.c \
    769 $(srcdir)/generated/unpack_r10.c \
    770 $(srcdir)/generated/unpack_r16.c \
    771 $(srcdir)/generated/unpack_c4.c \
    772 $(srcdir)/generated/unpack_c8.c \
    773 $(srcdir)/generated/unpack_c10.c \
    774 $(srcdir)/generated/unpack_c16.c
    775 
    776 i_spread_c = \
    777 $(srcdir)/generated/spread_i1.c \
    778 $(srcdir)/generated/spread_i2.c \
    779 $(srcdir)/generated/spread_i4.c \
    780 $(srcdir)/generated/spread_i8.c \
    781 $(srcdir)/generated/spread_i16.c \
    782 $(srcdir)/generated/spread_r4.c \
    783 $(srcdir)/generated/spread_r8.c \
    784 $(srcdir)/generated/spread_r10.c \
    785 $(srcdir)/generated/spread_r16.c \
    786 $(srcdir)/generated/spread_c4.c \
    787 $(srcdir)/generated/spread_c8.c \
    788 $(srcdir)/generated/spread_c10.c \
    789 $(srcdir)/generated/spread_c16.c 
    790 
    791 i_isobinding_c = \
    792 $(srcdir)/runtime/ISO_Fortran_binding.c
    793 
    794 m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
    795     m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
    796     m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
    797     m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \
    798     m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
    799     m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
    800     m4/eoshift1.m4 m4/eoshift3.m4 \
    801     m4/pow.m4 \
    802     m4/misc_specifics.m4 m4/pack.m4 \
    803     m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \
    804     m4/iall.m4 m4/iany.m4 m4/iparity.m4 m4/iforeach-s.m4 m4/findloc0.m4 \
    805     m4/findloc0s.m4 m4/ifindloc0.m4 m4/findloc1.m4 m4/ifindloc1.m4 \
    806     m4/findloc2s.m4 m4/ifindloc2.m4
    807 
    808 gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
    809     $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
    810     $(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_iall_c) $(i_iany_c) \
    811     $(i_iparity_c) $(i_norm2_c) $(i_parity_c) \
    812     $(i_matmul_c) $(i_matmull_c) $(i_shape_c) $(i_eoshift1_c) \
    813     $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
    814     $(i_pow_c) $(i_pack_c) $(i_unpack_c) $(i_matmulavx128_c) \
    815     $(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
    816     $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
    817     $(i_cshift1a_c) $(i_maxloc0s_c) $(i_minloc0s_c) $(i_maxloc1s_c) \
    818     $(i_minloc1s_c) $(i_maxloc2s_c) $(i_minloc2s_c) $(i_maxvals_c) \
    819     $(i_maxval0s_c) $(i_minval0s_c) $(i_maxval1s_c) $(i_minval1s_c) \
    820     $(i_findloc0_c) $(i_findloc0s_c) $(i_findloc1_c) $(i_findloc1s_c) \
    821     $(i_findloc2s_c) $(i_isobinding_c)
    822 
    823 # Machine generated specifics
    824 gfor_built_specific_src= \
    825 $(srcdir)/generated/_abs_c4.F90 \
    826 $(srcdir)/generated/_abs_c8.F90 \
    827 $(srcdir)/generated/_abs_c10.F90 \
    828 $(srcdir)/generated/_abs_c16.F90 \
    829 $(srcdir)/generated/_abs_i4.F90 \
    830 $(srcdir)/generated/_abs_i8.F90 \
    831 $(srcdir)/generated/_abs_i16.F90 \
    832 $(srcdir)/generated/_abs_r4.F90 \
    833 $(srcdir)/generated/_abs_r8.F90 \
    834 $(srcdir)/generated/_abs_r10.F90 \
    835 $(srcdir)/generated/_abs_r16.F90 \
    836 $(srcdir)/generated/_aimag_c4.F90 \
    837 $(srcdir)/generated/_aimag_c8.F90 \
    838 $(srcdir)/generated/_aimag_c10.F90 \
    839 $(srcdir)/generated/_aimag_c16.F90 \
    840 $(srcdir)/generated/_exp_r4.F90 \
    841 $(srcdir)/generated/_exp_r8.F90 \
    842 $(srcdir)/generated/_exp_r10.F90 \
    843 $(srcdir)/generated/_exp_r16.F90 \
    844 $(srcdir)/generated/_exp_c4.F90 \
    845 $(srcdir)/generated/_exp_c8.F90 \
    846 $(srcdir)/generated/_exp_c10.F90 \
    847 $(srcdir)/generated/_exp_c16.F90 \
    848 $(srcdir)/generated/_log_r4.F90 \
    849 $(srcdir)/generated/_log_r8.F90 \
    850 $(srcdir)/generated/_log_r10.F90 \
    851 $(srcdir)/generated/_log_r16.F90 \
    852 $(srcdir)/generated/_log_c4.F90 \
    853 $(srcdir)/generated/_log_c8.F90 \
    854 $(srcdir)/generated/_log_c10.F90 \
    855 $(srcdir)/generated/_log_c16.F90 \
    856 $(srcdir)/generated/_log10_r4.F90 \
    857 $(srcdir)/generated/_log10_r8.F90 \
    858 $(srcdir)/generated/_log10_r10.F90 \
    859 $(srcdir)/generated/_log10_r16.F90 \
    860 $(srcdir)/generated/_sqrt_r4.F90 \
    861 $(srcdir)/generated/_sqrt_r8.F90 \
    862 $(srcdir)/generated/_sqrt_r10.F90 \
    863 $(srcdir)/generated/_sqrt_r16.F90 \
    864 $(srcdir)/generated/_sqrt_c4.F90 \
    865 $(srcdir)/generated/_sqrt_c8.F90 \
    866 $(srcdir)/generated/_sqrt_c10.F90 \
    867 $(srcdir)/generated/_sqrt_c16.F90 \
    868 $(srcdir)/generated/_asin_r4.F90 \
    869 $(srcdir)/generated/_asin_r8.F90 \
    870 $(srcdir)/generated/_asin_r10.F90 \
    871 $(srcdir)/generated/_asin_r16.F90 \
    872 $(srcdir)/generated/_asinh_r4.F90 \
    873 $(srcdir)/generated/_asinh_r8.F90 \
    874 $(srcdir)/generated/_asinh_r10.F90 \
    875 $(srcdir)/generated/_asinh_r16.F90 \
    876 $(srcdir)/generated/_acos_r4.F90 \
    877 $(srcdir)/generated/_acos_r8.F90 \
    878 $(srcdir)/generated/_acos_r10.F90 \
    879 $(srcdir)/generated/_acos_r16.F90 \
    880 $(srcdir)/generated/_acosh_r4.F90 \
    881 $(srcdir)/generated/_acosh_r8.F90 \
    882 $(srcdir)/generated/_acosh_r10.F90 \
    883 $(srcdir)/generated/_acosh_r16.F90 \
    884 $(srcdir)/generated/_atan_r4.F90 \
    885 $(srcdir)/generated/_atan_r8.F90 \
    886 $(srcdir)/generated/_atan_r10.F90 \
    887 $(srcdir)/generated/_atan_r16.F90 \
    888 $(srcdir)/generated/_atanh_r4.F90 \
    889 $(srcdir)/generated/_atanh_r8.F90 \
    890 $(srcdir)/generated/_atanh_r10.F90 \
    891 $(srcdir)/generated/_atanh_r16.F90 \
    892 $(srcdir)/generated/_sin_r4.F90 \
    893 $(srcdir)/generated/_sin_r8.F90 \
    894 $(srcdir)/generated/_sin_r10.F90 \
    895 $(srcdir)/generated/_sin_r16.F90 \
    896 $(srcdir)/generated/_sin_c4.F90 \
    897 $(srcdir)/generated/_sin_c8.F90 \
    898 $(srcdir)/generated/_sin_c10.F90 \
    899 $(srcdir)/generated/_sin_c16.F90 \
    900 $(srcdir)/generated/_cos_r4.F90 \
    901 $(srcdir)/generated/_cos_r8.F90 \
    902 $(srcdir)/generated/_cos_r10.F90 \
    903 $(srcdir)/generated/_cos_r16.F90 \
    904 $(srcdir)/generated/_cos_c4.F90 \
    905 $(srcdir)/generated/_cos_c8.F90 \
    906 $(srcdir)/generated/_cos_c10.F90 \
    907 $(srcdir)/generated/_cos_c16.F90 \
    908 $(srcdir)/generated/_tan_r4.F90 \
    909 $(srcdir)/generated/_tan_r8.F90 \
    910 $(srcdir)/generated/_tan_r10.F90 \
    911 $(srcdir)/generated/_tan_r16.F90 \
    912 $(srcdir)/generated/_sinh_r4.F90 \
    913 $(srcdir)/generated/_sinh_r8.F90 \
    914 $(srcdir)/generated/_sinh_r10.F90 \
    915 $(srcdir)/generated/_sinh_r16.F90 \
    916 $(srcdir)/generated/_cosh_r4.F90 \
    917 $(srcdir)/generated/_cosh_r8.F90 \
    918 $(srcdir)/generated/_cosh_r10.F90 \
    919 $(srcdir)/generated/_cosh_r16.F90 \
    920 $(srcdir)/generated/_tanh_r4.F90 \
    921 $(srcdir)/generated/_tanh_r8.F90 \
    922 $(srcdir)/generated/_tanh_r10.F90 \
    923 $(srcdir)/generated/_tanh_r16.F90 \
    924 $(srcdir)/generated/_conjg_c4.F90 \
    925 $(srcdir)/generated/_conjg_c8.F90 \
    926 $(srcdir)/generated/_conjg_c10.F90 \
    927 $(srcdir)/generated/_conjg_c16.F90 \
    928 $(srcdir)/generated/_aint_r4.F90 \
    929 $(srcdir)/generated/_aint_r8.F90 \
    930 $(srcdir)/generated/_aint_r10.F90 \
    931 $(srcdir)/generated/_aint_r16.F90 \
    932 $(srcdir)/generated/_anint_r4.F90 \
    933 $(srcdir)/generated/_anint_r8.F90 \
    934 $(srcdir)/generated/_anint_r10.F90 \
    935 $(srcdir)/generated/_anint_r16.F90
    936 
    937 gfor_built_specific2_src= \
    938 $(srcdir)/generated/_sign_i4.F90 \
    939 $(srcdir)/generated/_sign_i8.F90 \
    940 $(srcdir)/generated/_sign_i16.F90 \
    941 $(srcdir)/generated/_sign_r4.F90 \
    942 $(srcdir)/generated/_sign_r8.F90 \
    943 $(srcdir)/generated/_sign_r10.F90 \
    944 $(srcdir)/generated/_sign_r16.F90 \
    945 $(srcdir)/generated/_dim_i4.F90 \
    946 $(srcdir)/generated/_dim_i8.F90 \
    947 $(srcdir)/generated/_dim_i16.F90 \
    948 $(srcdir)/generated/_dim_r4.F90 \
    949 $(srcdir)/generated/_dim_r8.F90 \
    950 $(srcdir)/generated/_dim_r10.F90 \
    951 $(srcdir)/generated/_dim_r16.F90 \
    952 $(srcdir)/generated/_atan2_r4.F90 \
    953 $(srcdir)/generated/_atan2_r8.F90 \
    954 $(srcdir)/generated/_atan2_r10.F90 \
    955 $(srcdir)/generated/_atan2_r16.F90 \
    956 $(srcdir)/generated/_mod_i4.F90 \
    957 $(srcdir)/generated/_mod_i8.F90 \
    958 $(srcdir)/generated/_mod_i16.F90 \
    959 $(srcdir)/generated/_mod_r4.F90 \
    960 $(srcdir)/generated/_mod_r8.F90 \
    961 $(srcdir)/generated/_mod_r10.F90 \
    962 $(srcdir)/generated/_mod_r16.F90
    963 
    964 gfor_misc_specifics = $(srcdir)/generated/misc_specifics.F90
    965 
    966 gfor_specific_src= \
    967 $(gfor_built_specific_src) \
    968 $(gfor_built_specific2_src) \
    969 $(gfor_misc_specifics) \
    970 intrinsics/dprod_r8.f90 \
    971 intrinsics/f2c_specifics.F90 \
    972 intrinsics/random_init.f90
    973 
    974 # Turn on vectorization and loop unrolling for matmul.
    975 $(patsubst %.c,%.lo,$(notdir $(i_matmul_c))): AM_CFLAGS += -ffast-math -ftree-vectorize -funroll-loops --param max-unroll-times=4
    976 
    977 if HAVE_AVX128
    978 # Turn on AVX128 for AMD-specific matmul, but only if the compiler understands -mprefer-avx128
    979 $(patsubst %.c,%.lo,$(notdir $(i_matmulavx128_c))): AM_CFLAGS += -ffast-math -ftree-vectorize -funroll-loops --param max-unroll-times=4 -mprefer-avx128
    980 endif
    981 # Logical matmul doesn't vectorize.
    982 $(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
    983 
    984 # Add the -fallow-leading-underscore option when needed
    985 $(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore
    986 selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
    987 
    988 if IEEE_SUPPORT
    989 # Add flags for IEEE modules
    990 $(patsubst %.F90,%.lo,$(notdir $(gfor_ieee_src))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
    991 endif
    992 
    993 # Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
    994 ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo
    995 	$(LTPPFCCOMPILE) -c -o $@ $<
    996 
    997 ieee_features.mod: ieee_features.lo
    998 	:
    999 ieee_exceptions.mod: ieee_exceptions.lo
   1000 	:
   1001 ieee_arithmetic.mod: ieee_arithmetic.lo
   1002 	:
   1003 
   1004 BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
   1005     $(gfor_built_specific2_src) $(gfor_misc_specifics)
   1006 
   1007 prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
   1008     $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
   1009 
   1010 if onestep
   1011 # dummy sources for libtool
   1012 BUILT_SOURCES+=libgfortran_c.c libgfortran_f.f90
   1013 libgfortran_c.c libgfortran_f.f90 libgfortran_F.F90:
   1014 	echo > $@
   1015 # overrides for libtool perusing the dummy sources
   1016 libgfortran_c.o: $(filter %.c,$(prereq_SRC))
   1017 	$(COMPILE) -c $^ -o $@ -combine
   1018 
   1019 libgfortran_c.lo: $(filter %.c,$(prereq_SRC))
   1020 	$(LTCOMPILE) -c -o $@ $^ -combine
   1021 
   1022 #libgfortran_f.o: $(filter %.f %.f90,$(prereq_SRC))
   1023 #	$(FCCOMPILE) -c $^ -o $@ -combine
   1024 
   1025 #libgfortran_f.lo: $(filter %.f %.f90,$(prereq_SRC))
   1026 #	$(LTFCCOMPILE) -c -o $@ $^ -combine
   1027 # not currently used:
   1028 #libgfortran_F.o: $(filter %.F %.F90,$(prereq_SRC))
   1029 #	$(PPFCCOMPILE) -c $^ -o $@ -combine
   1030 #
   1031 #libgfortran_F.lo: 
   1032 #	$(LTPPFCCOMPILE) -c -o $@ $^ -combine
   1033 
   1034 libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC))
   1035 
   1036 else
   1037 libgfortran_la_SOURCES = $(prereq_SRC)
   1038 
   1039 endif
   1040 
   1041 I_M4_DEPS=m4/iparm.m4
   1042 I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
   1043 I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
   1044 I_M4_DEPS2=$(I_M4_DEPS) m4/ifunction_logical.m4
   1045 I_M4_DEPS3=$(I_M4_DEPS) m4/iforeach-s.m4
   1046 I_M4_DEPS4=$(I_M4_DEPS) m4/ifunction-s.m4
   1047 I_M4_DEPS5=$(I_M4_DEPS) m4/iforeach-s2.m4
   1048 I_M4_DEPS6=$(I_M4_DEPS) m4/ifunction-s2.m4
   1049 I_M4_DEPS7=$(I_M4_DEPS) m4/ifindloc0.m4
   1050 I_M4_DEPS8=$(I_M4_DEPS) m4/ifindloc1.m4
   1051 I_M4_DEPS9=$(I_M4_DEPS) m4/ifindloc2.m4
   1052 
   1053 kinds.h: $(srcdir)/mk-kinds-h.sh
   1054 	$(SHELL) $(srcdir)/mk-kinds-h.sh '$(FCCOMPILE)' > $@ || rm $@
   1055 
   1056 kinds.inc: kinds.h
   1057 	grep '^#' < kinds.h > $@
   1058 
   1059 c99_protos.inc: $(srcdir)/c99_protos.h
   1060 	grep '^#' < $(srcdir)/c99_protos.h > $@
   1061 
   1062 selected_int_kind.inc: $(srcdir)/mk-sik-inc.sh
   1063 	$(SHELL) $(srcdir)/mk-sik-inc.sh '$(FCCOMPILE)' > $@ || rm $@
   1064 
   1065 selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
   1066 	$(SHELL) $(srcdir)/mk-srk-inc.sh '$(FCCOMPILE)' > $@ || rm $@
   1067 
   1068 fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
   1069 	cp $(srcdir)/$(FPU_HOST_HEADER) $@
   1070 
   1071 fpu-target.inc: fpu-target.h $(srcdir)/libgfortran.h
   1072 	grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
   1073 	grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
   1074 
   1075 ## A 'normal' build shouldn't need to regenerate these
   1076 ## so we only include them in maintainer mode
   1077 
   1078 if MAINTAINER_MODE
   1079 $(i_all_c): m4/all.m4 $(I_M4_DEPS2)
   1080 	$(M4) -Dfile=$@ -I$(srcdir)/m4 all.m4 > $@
   1081 
   1082 $(i_bessel_c): m4/bessel.m4 $(I_M4_DEPS)
   1083 	$(M4) -Dfile=$@ -I$(srcdir)/m4 bessel.m4 > $@
   1084 
   1085 $(i_any_c): m4/any.m4 $(I_M4_DEPS2)
   1086 	$(M4) -Dfile=$@ -I$(srcdir)/m4 any.m4 > $@
   1087 
   1088 $(i_count_c): m4/count.m4 $(I_M4_DEPS2)
   1089 	$(M4) -Dfile=$@ -I$(srcdir)/m4 count.m4 > $@
   1090 
   1091 $(i_findloc0_c): m4/findloc0.m4 $(I_M4_DEPS7)
   1092 	$(M4) -Dfile=$@ -I$(srcdir)/m4 findloc0.m4 > $@
   1093 
   1094 $(i_findloc0s_c): m4/findloc0s.m4 $(I_M4_DEPS7)
   1095 	$(M4) -Dfile=$@ -I$(srcdir)/m4 findloc0s.m4 > $@
   1096 
   1097 $(i_findloc1_c): m4/findloc1.m4 $(I_M4_DEPS8)
   1098 	$(M4) -Dfile=$@ -I$(srcdir)/m4 findloc1.m4 > $@
   1099 
   1100 $(i_findloc1s_c): m4/findloc1s.m4 $(I_M4_DEPS8)
   1101 	$(M4) -Dfile=$@ -I$(srcdir)/m4 findloc1s.m4 > $@
   1102 
   1103 $(i_findloc2s_c): m4/findloc2s.m4 $(I_M4_DEPS9)
   1104 	$(M4) -Dfile=$@ -I$(srcdir)/m4 findloc2s.m4 > $@
   1105 
   1106 $(i_iall_c): m4/iall.m4 $(I_M4_DEPS1)
   1107 	$(M4) -Dfile=$@ -I$(srcdir)/m4 iall.m4 > $@
   1108 
   1109 $(i_iany_c): m4/iany.m4 $(I_M4_DEPS1)
   1110 	$(M4) -Dfile=$@ -I$(srcdir)/m4 iany.m4 > $@
   1111 
   1112 $(i_iparity_c): m4/iparity.m4 $(I_M4_DEPS1)
   1113 	$(M4) -Dfile=$@ -I$(srcdir)/m4 iparity.m4 > $@
   1114 
   1115 $(i_maxloc0_c): m4/maxloc0.m4 $(I_M4_DEPS0)
   1116 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc0.m4 > $@
   1117 
   1118 $(i_maxloc0s_c) : m4/maxloc0s.m4 $(I_M4_DEPS3)
   1119 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc0s.m4 > $@
   1120 
   1121 $(i_maxloc1_c): m4/maxloc1.m4 $(I_M4_DEPS1)
   1122 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc1.m4 > $@
   1123 
   1124 $(i_maxloc1s_c): m4/maxloc1s.m4 $(I_M4_DEPS4)
   1125 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc1s.m4 > $@
   1126 
   1127 $(i_maxloc2s_c): m4/maxloc2s.m4 $(I_M4_DEPS)
   1128 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc2s.m4 > $@
   1129 
   1130 $(i_maxval_c): m4/maxval.m4 $(I_M4_DEPS1)
   1131 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxval.m4 > $@
   1132 
   1133 $(i_maxval0s_c): m4/maxval0s.m4 $(I_M4_DEPS5)
   1134 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxval0s.m4 > $@
   1135 
   1136 $(i_maxval1s_c): m4/maxval1s.m4 $(I_M4_DEPS6)
   1137 	$(M4) -Dfile=$@ -I$(srcdir)/m4 maxval1s.m4 > $@
   1138 
   1139 $(i_minloc0_c): m4/minloc0.m4 $(I_M4_DEPS0)
   1140 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minloc0.m4 > $@
   1141 
   1142 $(i_minloc0s_c) : m4/minloc0s.m4 $(I_M4_DEPS3)
   1143 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minloc0s.m4 > $@
   1144 
   1145 $(i_minloc1_c): m4/minloc1.m4 $(I_M4_DEPS1)
   1146 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minloc1.m4 > $@
   1147 
   1148 $(i_minloc1s_c): m4/minloc1s.m4 $(I_M4_DEPS4)
   1149 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minloc1s.m4 > $@
   1150 
   1151 $(i_minloc2s_c): m4/minloc2s.m4 $(I_M4_DEPS)
   1152 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minloc2s.m4 > $@
   1153 
   1154 $(i_minval_c): m4/minval.m4 $(I_M4_DEPS1)
   1155 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minval.m4 > $@
   1156 
   1157 $(i_minval0s_c): m4/minval0s.m4 $(I_M4_DEPS5)
   1158 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minval0s.m4 > $@
   1159 
   1160 $(i_minval1s_c): m4/minval1s.m4 $(I_M4_DEPS6)
   1161 	$(M4) -Dfile=$@ -I$(srcdir)/m4 minval1s.m4 > $@
   1162 
   1163 $(i_product_c): m4/product.m4 $(I_M4_DEPS1)
   1164 	$(M4) -Dfile=$@ -I$(srcdir)/m4 product.m4 > $@
   1165 
   1166 $(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
   1167 	$(M4) -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $@
   1168 
   1169 $(i_matmul_c): m4/matmul.m4 m4/matmul_internal.m4 $(I_M4_DEPS)
   1170 	$(M4) -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $@
   1171 
   1172 $(i_matmulavx128_c): m4/matmulavx128.m4 m4/matmul_internal.m4 $(I_M4_DEPS)
   1173 	$(M4) -Dfile=$@ -I$(srcdir)/m4 matmulavx128.m4 > $@
   1174 
   1175 $(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
   1176 	$(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
   1177 
   1178 $(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS1)
   1179 	$(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
   1180 
   1181 $(i_parity_c): m4/parity.m4 $(I_M4_DEPS1)
   1182 	$(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
   1183 
   1184 $(i_shape_c): m4/shape.m4 $(I_M4_DEPS)
   1185 	$(M4) -Dfile=$@ -I$(srcdir)/m4 shape.m4 > $@
   1186 
   1187 $(i_reshape_c): m4/reshape.m4 $(I_M4_DEPS)
   1188 	$(M4) -Dfile=$@ -I$(srcdir)/m4 reshape.m4 > $@
   1189 
   1190 $(i_eoshift1_c): m4/eoshift1.m4 $(I_M4_DEPS)
   1191 	$(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift1.m4 > $@
   1192 
   1193 $(i_eoshift3_c): m4/eoshift3.m4 $(I_M4_DEPS)
   1194 	$(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift3.m4 > $@
   1195 
   1196 $(i_cshift0_c): m4/cshift0.m4 $(I_M4_DEPS)
   1197 	$(M4) -Dfile=$@ -I$(srcdir)/m4 cshift0.m4 > $@
   1198 
   1199 $(i_cshift1_c): m4/cshift1.m4 $(I_M4_DEPS)
   1200 	$(M4) -Dfile=$@ -I$(srcdir)/m4 cshift1.m4 > $@
   1201 
   1202 $(i_cshift1a_c): m4/cshift1a.m4 $(I_M$_DEPS)
   1203 	$(M4) -Dfile=$@ -I$(srcdir)/m4 cshift1a.m4 > $@
   1204 
   1205 $(in_pack_c): m4/in_pack.m4 $(I_M4_DEPS)
   1206 	$(M4) -Dfile=$@ -I$(srcdir)/m4 in_pack.m4 > $@
   1207 
   1208 $(in_unpack_c): m4/in_unpack.m4 $(I_M4_DEPS)
   1209 	$(M4) -Dfile=$@ -I$(srcdir)/m4 in_unpack.m4 > $@
   1210 
   1211 $(i_pow_c): m4/pow.m4 $(I_M4_DEPS)
   1212 	$(M4) -Dfile=$@ -I$(srcdir)/m4 pow.m4 > $@
   1213 
   1214 $(i_pack_c): m4/pack.m4 $(I_M4_DEPS)
   1215 	$(M4) -Dfile=$@ -I$(srcdir)/m4 pack.m4 > $@
   1216 
   1217 $(i_unpack_c): m4/unpack.m4 $(I_M4_DEPS)
   1218 	$(M4) -Dfile=$@ -I$(srcdir)/m4 unpack.m4 > $@
   1219 
   1220 $(i_spread_c): m4/spread.m4 $(I_M4_DEPS)
   1221 	$(M4) -Dfile=$@ -I$(srcdir)/m4 spread.m4 > $@
   1222 
   1223 $(gfor_built_specific_src): m4/specific.m4 m4/head.m4
   1224 	$(M4) -Dfile=$@ -I$(srcdir)/m4 specific.m4 > $@
   1225 
   1226 $(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
   1227 	$(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $@
   1228 
   1229 $(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
   1230 	$(M4) -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $@
   1231 ## end of maintainer mode only rules
   1232 endif
   1233 
   1234 EXTRA_DIST = $(m4_files)
   1235 
   1236 include $(top_srcdir)/../multilib.am
   1237