]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgfortran/Makefile.am
2019-10-17 Richard Biener <rguenther@suse.de>
[thirdparty/gcc.git] / libgfortran / Makefile.am
CommitLineData
4ee9c684 1## Process this file with automake to produce Makefile.in
2
09e5829f 3
cc38658d 4ACLOCAL_AMFLAGS = -I .. -I ../config
4ee9c684 5
91a9c151 6## May be used by toolexeclibdir.
0812bb06 7gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
91a9c151 8
ce1a737c 9## Symbol versioning (copied from libssp).
10if LIBGFOR_USE_SYMVER
019fb48a 11if LIBGFOR_USE_SYMVER_GNU
ce1a737c 12version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
019fb48a 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
ce1a737c 28else
29version_arg =
019fb48a 30version_dep =
ce1a737c 31endif
32
77ddff12 33gfor_c_HEADERS = $(srcdir)/ISO_Fortran_binding.h
9e68ec50 34gfor_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
77ddff12 35
d5e884a5 36LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \
8c35d268 37 $(lt_host_flags)
ac051731 38
7e37d01e 39toolexeclib_LTLIBRARIES = libgfortran.la
87969c8c 40toolexeclib_DATA = libgfortran.spec
60598a3a 41libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
b04af9a7 42libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
4e7d6e89 43 $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la \
18ce903b 44 $(HWCAP_LDFLAGS) \
4e7d6e89 45 -lm $(extra_ldflags_libgfortran) \
b04af9a7 46 $(version_arg) -Wc,-shared-libgcc
87969c8c 47libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
e6584517 48
d0b62076 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
d566c3e0 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
3a1b426e 61## io.h conflicts with a system header on some platforms, so
2ff3e0d0 62## use -iquote
60c514ba 63AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
87969c8c 64 -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \
630d52ca 65 -I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
66 -I$(srcdir)/$(MULTISRCTOP)../libgcc \
4e7d6e89 67 -I$(MULTIBUILDTOP)../libgcc \
68 -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
69 -I$(MULTIBUILDTOP)../libbacktrace \
70 -I../libbacktrace
4ee9c684 71
b65c8387 72# Fortran rules for complex multiplication and division
73AM_CFLAGS += -fcx-fortran-rules
74
3443eac1 75# Use -ffunction-sections -fdata-sections if supported by the compiler
3443eac1 76AM_CFLAGS += $(SECTION_FLAGS)
77
72934c53 78# Some targets require additional compiler options for IEEE compatibility.
72934c53 79AM_CFLAGS += $(IEEE_FLAGS)
d566c3e0 80AM_FCFLAGS += $(IEEE_FLAGS)
72934c53 81
eb00e55c 82if LIBGFOR_MINIMAL
83AM_CFLAGS += -DLIBGFOR_MINIMAL
84endif
85
4ee9c684 86gfor_io_src= \
eb00e55c 87io/size_from_kind.c
88
89if !LIBGFOR_MINIMAL
90
91gfor_io_src+= \
4ee9c684 92io/close.c \
6c306f90 93io/file_pos.c \
4ee9c684 94io/format.c \
95io/inquire.c \
76c0a846 96io/intrinsics.c \
4ee9c684 97io/list_read.c \
98io/lock.c \
99io/open.c \
100io/read.c \
4ee9c684 101io/transfer.c \
87969c8c 102io/transfer128.c \
4ee9c684 103io/unit.c \
104io/unix.c \
d875179d 105io/write.c \
629c30bb 106io/fbuf.c \
107io/async.c
4ee9c684 108
eb00e55c 109endif
110
4ee9c684 111gfor_io_headers= \
f65f6629 112io/io.h \
113io/fbuf.h \
114io/format.h \
629c30bb 115io/unix.h \
116io/async.h
4ee9c684 117
118gfor_helper_src= \
119intrinsics/associated.c \
120intrinsics/abort.c \
987727ef 121intrinsics/args.c \
4ee9c684 122intrinsics/cshift0.c \
123intrinsics/eoshift0.c \
124intrinsics/eoshift2.c \
ff4425cf 125intrinsics/erfc_scaled.c \
bdfbc762 126intrinsics/extends_type_of.c \
771c1b50 127intrinsics/fnum.c \
4dd3972f 128intrinsics/ierrno.c \
4ee9c684 129intrinsics/ishftc.c \
5f34f219 130intrinsics/is_contiguous.c \
ca5301bf 131intrinsics/mvbits.c \
fa2a625e 132intrinsics/move_alloc.c \
4ee9c684 133intrinsics/pack_generic.c \
59e2a584 134intrinsics/selected_char_kind.c \
4ee9c684 135intrinsics/size.c \
136intrinsics/spread_generic.c \
137intrinsics/string_intrinsics.c \
041de113 138intrinsics/rand.c \
4ee9c684 139intrinsics/random.c \
140intrinsics/reshape_generic.c \
141intrinsics/reshape_packed.c \
5d4b6e9c 142intrinsics/selected_int_kind.f90 \
143intrinsics/selected_real_kind.f90 \
eb00e55c 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 \
771c1b50 176intrinsics/stat.c \
4dd3972f 177intrinsics/symlnk.c \
3db98e11 178intrinsics/system_clock.c \
4dd3972f 179intrinsics/time.c \
ab5619bc 180intrinsics/umask.c \
eb00e55c 181intrinsics/unlink.c
182
183endif
4ee9c684 184
d566c3e0 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
4ee9c684 200gfor_src= \
5d04d450 201runtime/bounds.c \
64fc3c4c 202runtime/compile_options.c \
eb00e55c 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 \
16d6b8e4 215runtime/convert_char.c \
4ee9c684 216runtime/environ.c \
217runtime/error.c \
8c84a5de 218runtime/fpu.c \
4ee9c684 219runtime/main.c \
4ee9c684 220runtime/pause.c \
eb00e55c 221runtime/stop.c
222
223endif
4ee9c684 224
225i_all_c= \
76b9f891 226$(srcdir)/generated/all_l1.c \
227$(srcdir)/generated/all_l2.c \
dd765455 228$(srcdir)/generated/all_l4.c \
229$(srcdir)/generated/all_l8.c \
230$(srcdir)/generated/all_l16.c
4ee9c684 231
232i_any_c= \
76b9f891 233$(srcdir)/generated/any_l1.c \
234$(srcdir)/generated/any_l2.c \
dd765455 235$(srcdir)/generated/any_l4.c \
236$(srcdir)/generated/any_l8.c \
237$(srcdir)/generated/any_l16.c
4ee9c684 238
faa9fea4 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
4ee9c684 245i_count_c= \
76b9f891 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
4ee9c684 251
9028d57d 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
b17c03a4 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 \
c5e8cf41 281$(srcdir)/generated/findloc0_r10.c \
b17c03a4 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
287i_findloc0s_c= \
288$(srcdir)/generated/findloc0_s1.c \
289$(srcdir)/generated/findloc0_s4.c
290
291i_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 \
c5e8cf41 299$(srcdir)/generated/findloc1_r10.c \
b17c03a4 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
305i_findloc1s_c= \
306$(srcdir)/generated/findloc1_s1.c \
307$(srcdir)/generated/findloc1_s4.c
308
309i_findloc2s_c= \
310$(srcdir)/generated/findloc2_s1.c \
311$(srcdir)/generated/findloc2_s4.c
312
4ee9c684 313i_maxloc0_c= \
dd765455 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
4ee9c684 341
eab3d206 342i_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
4ee9c684 350i_maxloc1_c= \
dd765455 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
4ee9c684 378
eab3d206 379i_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
387i_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
4ee9c684 395i_maxval_c= \
dd765455 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
4ee9c684 405
e50129a4 406i_maxval0s_c=\
407$(srcdir)/generated/maxval0_s1.c \
408$(srcdir)/generated/maxval0_s4.c
409
410i_maxval1s_c=\
411$(srcdir)/generated/maxval1_s1.c \
412$(srcdir)/generated/maxval1_s4.c
413
4ee9c684 414i_minloc0_c= \
dd765455 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
4ee9c684 442
eab3d206 443i_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
4ee9c684 451i_minloc1_c= \
dd765455 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
4ee9c684 479
eab3d206 480i_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
488i_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
4ee9c684 496i_minval_c= \
dd765455 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
4ee9c684 506
e50129a4 507i_minval0s_c=\
508$(srcdir)/generated/minval0_s1.c \
509$(srcdir)/generated/minval0_s4.c
510
511i_minval1s_c=\
512$(srcdir)/generated/minval1_s1.c \
513$(srcdir)/generated/minval1_s4.c
514
b4ba8232 515i_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
521i_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
4ee9c684 528i_sum_c= \
dd765455 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
4ee9c684 542
543i_product_c= \
dd765455 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
4ee9c684 557
4ee9c684 558i_matmul_c= \
dd765455 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
4ee9c684 572
b4e409cb 573i_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
4ee9c684 588i_matmull_c= \
dd765455 589$(srcdir)/generated/matmul_l4.c \
590$(srcdir)/generated/matmul_l8.c \
591$(srcdir)/generated/matmul_l16.c
4ee9c684 592
4ee9c684 593i_shape_c= \
2bcfb66a 594$(srcdir)/generated/shape_i1.c \
595$(srcdir)/generated/shape_i2.c \
dd765455 596$(srcdir)/generated/shape_i4.c \
597$(srcdir)/generated/shape_i8.c \
598$(srcdir)/generated/shape_i16.c
4ee9c684 599
600i_reshape_c= \
dd765455 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
4ee9c684 612
613i_eoshift1_c= \
dd765455 614$(srcdir)/generated/eoshift1_4.c \
615$(srcdir)/generated/eoshift1_8.c \
616$(srcdir)/generated/eoshift1_16.c
4ee9c684 617
618i_eoshift3_c= \
dd765455 619$(srcdir)/generated/eoshift3_4.c \
620$(srcdir)/generated/eoshift3_8.c \
621$(srcdir)/generated/eoshift3_16.c
4ee9c684 622
95f15c5b 623i_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
95f15c5b 637
4ee9c684 638i_cshift1_c= \
dd765455 639$(srcdir)/generated/cshift1_4.c \
640$(srcdir)/generated/cshift1_8.c \
641$(srcdir)/generated/cshift1_16.c
4ee9c684 642
3d3c32f2 643i_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
4ee9c684 684in_pack_c = \
98380129 685$(srcdir)/generated/in_pack_i1.c \
686$(srcdir)/generated/in_pack_i2.c \
dd765455 687$(srcdir)/generated/in_pack_i4.c \
688$(srcdir)/generated/in_pack_i8.c \
689$(srcdir)/generated/in_pack_i16.c \
98380129 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 \
dd765455 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
4ee9c684 698
699in_unpack_c = \
98380129 700$(srcdir)/generated/in_unpack_i1.c \
701$(srcdir)/generated/in_unpack_i2.c \
dd765455 702$(srcdir)/generated/in_unpack_i4.c \
703$(srcdir)/generated/in_unpack_i8.c \
704$(srcdir)/generated/in_unpack_i16.c \
98380129 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 \
dd765455 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
4ee9c684 713
76834664 714i_pow_c = \
dd765455 715$(srcdir)/generated/pow_i4_i4.c \
716$(srcdir)/generated/pow_i8_i4.c \
717$(srcdir)/generated/pow_i16_i4.c \
87969c8c 718$(srcdir)/generated/pow_r16_i4.c \
dd765455 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
76834664 745
0c279ba7 746i_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
d3a07078 761i_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
b74d1e69 776i_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
77ddff12 791i_isobinding_c = \
792$(srcdir)/runtime/ISO_Fortran_binding.c
793
cdafa1f6 794m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
4ee9c684 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 \
76b9f891 797 m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \
4ee9c684 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 \
7113fd03 800 m4/eoshift1.m4 m4/eoshift3.m4 \
801 m4/pow.m4 \
802 m4/misc_specifics.m4 m4/pack.m4 \
9028d57d 803 m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \
b17c03a4 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
4ee9c684 807
808gfor_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) \
9028d57d 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) \
7113fd03 812 $(i_matmul_c) $(i_matmull_c) $(i_shape_c) $(i_eoshift1_c) \
4ee9c684 813 $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
b4e409cb 814 $(i_pow_c) $(i_pack_c) $(i_unpack_c) $(i_matmulavx128_c) \
b74d1e69 815 $(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
3d3c32f2 816 $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
eab3d206 817 $(i_cshift1a_c) $(i_maxloc0s_c) $(i_minloc0s_c) $(i_maxloc1s_c) \
e50129a4 818 $(i_minloc1s_c) $(i_maxloc2s_c) $(i_minloc2s_c) $(i_maxvals_c) \
b17c03a4 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) \
77ddff12 821 $(i_findloc2s_c) $(i_isobinding_c)
4ee9c684 822
4ee9c684 823# Machine generated specifics
824gfor_built_specific_src= \
dd765455 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
4ee9c684 936
937gfor_built_specific2_src= \
dd765455 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
964gfor_misc_specifics = $(srcdir)/generated/misc_specifics.F90
37e0271a 965
4ee9c684 966gfor_specific_src= \
967$(gfor_built_specific_src) \
968$(gfor_built_specific2_src) \
37e0271a 969$(gfor_misc_specifics) \
bdaed7d2 970intrinsics/dprod_r8.f90 \
0ecc062b 971intrinsics/f2c_specifics.F90 \
972intrinsics/random_init.f90
4ee9c684 973
b56cb1ff 974# Turn on vectorization and loop unrolling for matmul.
b4e409cb 975$(patsubst %.c,%.lo,$(notdir $(i_matmul_c))): AM_CFLAGS += -ffast-math -ftree-vectorize -funroll-loops --param max-unroll-times=4
976
977if 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
980endif
b56cb1ff 981# Logical matmul doesn't vectorize.
982$(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
02013060 983
17000b91 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
986selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
987
d566c3e0 988if 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
991endif
992
993# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
994ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo
995 $(LTPPFCCOMPILE) -c -o $@ $<
996
997ieee_features.mod: ieee_features.lo
998 :
999ieee_exceptions.mod: ieee_exceptions.lo
1000 :
1001ieee_arithmetic.mod: ieee_arithmetic.lo
1002 :
1003
d213114b 1004BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
37e0271a 1005 $(gfor_built_specific2_src) $(gfor_misc_specifics)
93773f82 1006
1007prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
d566c3e0 1008 $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
4ee9c684 1009
93773f82 1010if onestep
1011# dummy sources for libtool
1012BUILT_SOURCES+=libgfortran_c.c libgfortran_f.f90
1013libgfortran_c.c libgfortran_f.f90 libgfortran_F.F90:
1014 echo > $@
1015# overrides for libtool perusing the dummy sources
1016libgfortran_c.o: $(filter %.c,$(prereq_SRC))
1017 $(COMPILE) -c $^ -o $@ -combine
1018
1019libgfortran_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
1034libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC))
1035
1036else
1037libgfortran_la_SOURCES = $(prereq_SRC)
1038
1039endif
1040
cdafa1f6 1041I_M4_DEPS=m4/iparm.m4
4ee9c684 1042I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
1043I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
76b9f891 1044I_M4_DEPS2=$(I_M4_DEPS) m4/ifunction_logical.m4
eab3d206 1045I_M4_DEPS3=$(I_M4_DEPS) m4/iforeach-s.m4
1046I_M4_DEPS4=$(I_M4_DEPS) m4/ifunction-s.m4
e50129a4 1047I_M4_DEPS5=$(I_M4_DEPS) m4/iforeach-s2.m4
1048I_M4_DEPS6=$(I_M4_DEPS) m4/ifunction-s2.m4
b17c03a4 1049I_M4_DEPS7=$(I_M4_DEPS) m4/ifindloc0.m4
1050I_M4_DEPS8=$(I_M4_DEPS) m4/ifindloc1.m4
1051I_M4_DEPS9=$(I_M4_DEPS) m4/ifindloc2.m4
4ee9c684 1052
14c3c235 1053kinds.h: $(srcdir)/mk-kinds-h.sh
e0ab227c 1054 $(SHELL) $(srcdir)/mk-kinds-h.sh '$(FCCOMPILE)' > $@ || rm $@
14c3c235 1055
920e54ef 1056kinds.inc: kinds.h
1057 grep '^#' < kinds.h > $@
1058
1059c99_protos.inc: $(srcdir)/c99_protos.h
1060 grep '^#' < $(srcdir)/c99_protos.h > $@
1061
5d4b6e9c 1062selected_int_kind.inc: $(srcdir)/mk-sik-inc.sh
e0ab227c 1063 $(SHELL) $(srcdir)/mk-sik-inc.sh '$(FCCOMPILE)' > $@ || rm $@
5d4b6e9c 1064
1065selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
e0ab227c 1066 $(SHELL) $(srcdir)/mk-srk-inc.sh '$(FCCOMPILE)' > $@ || rm $@
5d4b6e9c 1067
8c84a5de 1068fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
1069 cp $(srcdir)/$(FPU_HOST_HEADER) $@
1070
d566c3e0 1071fpu-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
4ee9c684 1075## A 'normal' build shouldn't need to regenerate these
1076## so we only include them in maintainer mode
1077
1078if MAINTAINER_MODE
76b9f891 1079$(i_all_c): m4/all.m4 $(I_M4_DEPS2)
5814e0f6 1080 $(M4) -Dfile=$@ -I$(srcdir)/m4 all.m4 > $@
4ee9c684 1081
faa9fea4 1082$(i_bessel_c): m4/bessel.m4 $(I_M4_DEPS)
1083 $(M4) -Dfile=$@ -I$(srcdir)/m4 bessel.m4 > $@
1084
76b9f891 1085$(i_any_c): m4/any.m4 $(I_M4_DEPS2)
5814e0f6 1086 $(M4) -Dfile=$@ -I$(srcdir)/m4 any.m4 > $@
4ee9c684 1087
76b9f891 1088$(i_count_c): m4/count.m4 $(I_M4_DEPS2)
5814e0f6 1089 $(M4) -Dfile=$@ -I$(srcdir)/m4 count.m4 > $@
4ee9c684 1090
b17c03a4 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
25c067ae 1106$(i_iall_c): m4/iall.m4 $(I_M4_DEPS1)
9028d57d 1107 $(M4) -Dfile=$@ -I$(srcdir)/m4 iall.m4 > $@
1108
25c067ae 1109$(i_iany_c): m4/iany.m4 $(I_M4_DEPS1)
9028d57d 1110 $(M4) -Dfile=$@ -I$(srcdir)/m4 iany.m4 > $@
1111
25c067ae 1112$(i_iparity_c): m4/iparity.m4 $(I_M4_DEPS1)
9028d57d 1113 $(M4) -Dfile=$@ -I$(srcdir)/m4 iparity.m4 > $@
1114
4ee9c684 1115$(i_maxloc0_c): m4/maxloc0.m4 $(I_M4_DEPS0)
5814e0f6 1116 $(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc0.m4 > $@
4ee9c684 1117
eab3d206 1118$(i_maxloc0s_c) : m4/maxloc0s.m4 $(I_M4_DEPS3)
1119 $(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc0s.m4 > $@
1120
4ee9c684 1121$(i_maxloc1_c): m4/maxloc1.m4 $(I_M4_DEPS1)
5814e0f6 1122 $(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc1.m4 > $@
4ee9c684 1123
eab3d206 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
4ee9c684 1130$(i_maxval_c): m4/maxval.m4 $(I_M4_DEPS1)
5814e0f6 1131 $(M4) -Dfile=$@ -I$(srcdir)/m4 maxval.m4 > $@
4ee9c684 1132
e50129a4 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
4ee9c684 1139$(i_minloc0_c): m4/minloc0.m4 $(I_M4_DEPS0)
5814e0f6 1140 $(M4) -Dfile=$@ -I$(srcdir)/m4 minloc0.m4 > $@
4ee9c684 1141
eab3d206 1142$(i_minloc0s_c) : m4/minloc0s.m4 $(I_M4_DEPS3)
1143 $(M4) -Dfile=$@ -I$(srcdir)/m4 minloc0s.m4 > $@
1144
4ee9c684 1145$(i_minloc1_c): m4/minloc1.m4 $(I_M4_DEPS1)
5814e0f6 1146 $(M4) -Dfile=$@ -I$(srcdir)/m4 minloc1.m4 > $@
4ee9c684 1147
eab3d206 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
4ee9c684 1154$(i_minval_c): m4/minval.m4 $(I_M4_DEPS1)
5814e0f6 1155 $(M4) -Dfile=$@ -I$(srcdir)/m4 minval.m4 > $@
4ee9c684 1156
e50129a4 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
4ee9c684 1163$(i_product_c): m4/product.m4 $(I_M4_DEPS1)
5814e0f6 1164 $(M4) -Dfile=$@ -I$(srcdir)/m4 product.m4 > $@
4ee9c684 1165
1166$(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
5814e0f6 1167 $(M4) -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $@
4ee9c684 1168
25df644f 1169$(i_matmul_c): m4/matmul.m4 m4/matmul_internal.m4 $(I_M4_DEPS)
5814e0f6 1170 $(M4) -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $@
4ee9c684 1171
b4e409cb 1172$(i_matmulavx128_c): m4/matmulavx128.m4 m4/matmul_internal.m4 $(I_M4_DEPS)
1173 $(M4) -Dfile=$@ -I$(srcdir)/m4 matmulavx128.m4 > $@
1174
4ee9c684 1175$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
5814e0f6 1176 $(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
4ee9c684 1177
25c067ae 1178$(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS1)
b4ba8232 1179 $(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
1180
25c067ae 1181$(i_parity_c): m4/parity.m4 $(I_M4_DEPS1)
b4ba8232 1182 $(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
1183
4ee9c684 1184$(i_shape_c): m4/shape.m4 $(I_M4_DEPS)
5814e0f6 1185 $(M4) -Dfile=$@ -I$(srcdir)/m4 shape.m4 > $@
4ee9c684 1186
1187$(i_reshape_c): m4/reshape.m4 $(I_M4_DEPS)
5814e0f6 1188 $(M4) -Dfile=$@ -I$(srcdir)/m4 reshape.m4 > $@
4ee9c684 1189
1190$(i_eoshift1_c): m4/eoshift1.m4 $(I_M4_DEPS)
5814e0f6 1191 $(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift1.m4 > $@
4ee9c684 1192
1193$(i_eoshift3_c): m4/eoshift3.m4 $(I_M4_DEPS)
5814e0f6 1194 $(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift3.m4 > $@
4ee9c684 1195
95f15c5b 1196$(i_cshift0_c): m4/cshift0.m4 $(I_M4_DEPS)
1197 $(M4) -Dfile=$@ -I$(srcdir)/m4 cshift0.m4 > $@
1198
4ee9c684 1199$(i_cshift1_c): m4/cshift1.m4 $(I_M4_DEPS)
5814e0f6 1200 $(M4) -Dfile=$@ -I$(srcdir)/m4 cshift1.m4 > $@
4ee9c684 1201
3d3c32f2 1202$(i_cshift1a_c): m4/cshift1a.m4 $(I_M$_DEPS)
1203 $(M4) -Dfile=$@ -I$(srcdir)/m4 cshift1a.m4 > $@
1204
4ee9c684 1205$(in_pack_c): m4/in_pack.m4 $(I_M4_DEPS)
5814e0f6 1206 $(M4) -Dfile=$@ -I$(srcdir)/m4 in_pack.m4 > $@
4ee9c684 1207
1208$(in_unpack_c): m4/in_unpack.m4 $(I_M4_DEPS)
5814e0f6 1209 $(M4) -Dfile=$@ -I$(srcdir)/m4 in_unpack.m4 > $@
4ee9c684 1210
76834664 1211$(i_pow_c): m4/pow.m4 $(I_M4_DEPS)
5814e0f6 1212 $(M4) -Dfile=$@ -I$(srcdir)/m4 pow.m4 > $@
76834664 1213
0c279ba7 1214$(i_pack_c): m4/pack.m4 $(I_M4_DEPS)
1215 $(M4) -Dfile=$@ -I$(srcdir)/m4 pack.m4 > $@
1216
d3a07078 1217$(i_unpack_c): m4/unpack.m4 $(I_M4_DEPS)
1218 $(M4) -Dfile=$@ -I$(srcdir)/m4 unpack.m4 > $@
1219
b74d1e69 1220$(i_spread_c): m4/spread.m4 $(I_M4_DEPS)
1221 $(M4) -Dfile=$@ -I$(srcdir)/m4 spread.m4 > $@
1222
4ee9c684 1223$(gfor_built_specific_src): m4/specific.m4 m4/head.m4
dd765455 1224 $(M4) -Dfile=$@ -I$(srcdir)/m4 specific.m4 > $@
4ee9c684 1225
1226$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
dd765455 1227 $(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $@
37e0271a 1228
1229$(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
dd765455 1230 $(M4) -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $@
4ee9c684 1231## end of maintainer mode only rules
1232endif
1233
1234EXTRA_DIST = $(m4_files)
f00f02a3 1235
1236include $(top_srcdir)/../multilib.am