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