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