Makefile.am 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071
  1. ## Process this file with automake to produce Makefile.in
  2. ACLOCAL_AMFLAGS = -I .. -I ../config
  3. ## May be used by toolexeclibdir.
  4. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
  5. ## Symbol versioning (copied from libssp).
  6. if LIBGFOR_USE_SYMVER
  7. if LIBGFOR_USE_SYMVER_GNU
  8. version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
  9. version_dep = $(srcdir)/gfortran.map
  10. endif
  11. if LIBGFOR_USE_SYMVER_SUN
  12. version_arg = -Wl,-M,gfortran.map-sun
  13. version_dep = gfortran.map-sun
  14. gfortran.map-sun : $(srcdir)/gfortran.map \
  15. $(top_srcdir)/../contrib/make_sunver.pl \
  16. $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD)
  17. perl $(top_srcdir)/../contrib/make_sunver.pl \
  18. $(srcdir)/gfortran.map \
  19. $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \
  20. `echo $(libgfortran_la_LIBADD) | \
  21. sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
  22. > $@ || (rm -f $@ ; exit 1)
  23. endif
  24. else
  25. version_arg =
  26. version_dep =
  27. endif
  28. LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \
  29. $(lt_host_flags)
  30. toolexeclib_LTLIBRARIES = libgfortran.la
  31. toolexeclib_DATA = libgfortran.spec
  32. libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
  33. libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
  34. $(LTLDFLAGS) $(LIBQUADLIB) -lm $(extra_ldflags_libgfortran) \
  35. $(version_arg) -Wc,-shared-libgcc
  36. libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
  37. myexeclib_LTLIBRARIES = libgfortranbegin.la
  38. myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
  39. libgfortranbegin_la_SOURCES = fmain.c
  40. libgfortranbegin_la_LDFLAGS = -static
  41. libgfortranbegin_la_LINK = $(LINK) $(libgfortranbegin_la_LDFLAGS)
  42. cafexeclib_LTLIBRARIES = libcaf_single.la
  43. cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
  44. libcaf_single_la_SOURCES = caf/single.c
  45. libcaf_single_la_LDFLAGS = -static
  46. libcaf_single_la_DEPENDENCIES = caf/libcaf.h
  47. libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
  48. if IEEE_SUPPORT
  49. fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
  50. nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
  51. endif
  52. ## io.h conflicts with a system header on some platforms, so
  53. ## use -iquote
  54. AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
  55. -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \
  56. -I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
  57. -I$(srcdir)/$(MULTISRCTOP)../libgcc \
  58. -I$(MULTIBUILDTOP)../libgcc
  59. # Fortran rules for complex multiplication and division
  60. AM_CFLAGS += -fcx-fortran-rules
  61. # Use -ffunction-sections -fdata-sections if supported by the compiler
  62. AM_CFLAGS += $(SECTION_FLAGS)
  63. # Some targets require additional compiler options for IEEE compatibility.
  64. AM_CFLAGS += $(IEEE_FLAGS)
  65. AM_FCFLAGS += $(IEEE_FLAGS)
  66. if LIBGFOR_MINIMAL
  67. AM_CFLAGS += -DLIBGFOR_MINIMAL
  68. endif
  69. gfor_io_src= \
  70. io/size_from_kind.c
  71. if !LIBGFOR_MINIMAL
  72. gfor_io_src+= \
  73. io/close.c \
  74. io/file_pos.c \
  75. io/format.c \
  76. io/inquire.c \
  77. io/intrinsics.c \
  78. io/list_read.c \
  79. io/lock.c \
  80. io/open.c \
  81. io/read.c \
  82. io/transfer.c \
  83. io/transfer128.c \
  84. io/unit.c \
  85. io/unix.c \
  86. io/write.c \
  87. io/fbuf.c
  88. endif
  89. gfor_io_headers= \
  90. io/io.h \
  91. io/fbuf.h \
  92. io/format.h \
  93. io/unix.h
  94. gfor_helper_src= \
  95. intrinsics/associated.c \
  96. intrinsics/abort.c \
  97. intrinsics/args.c \
  98. intrinsics/bit_intrinsics.c \
  99. intrinsics/cshift0.c \
  100. intrinsics/eoshift0.c \
  101. intrinsics/eoshift2.c \
  102. intrinsics/erfc_scaled.c \
  103. intrinsics/extends_type_of.c \
  104. intrinsics/fnum.c \
  105. intrinsics/ierrno.c \
  106. intrinsics/ishftc.c \
  107. intrinsics/iso_c_generated_procs.c \
  108. intrinsics/iso_c_binding.c \
  109. intrinsics/malloc.c \
  110. intrinsics/mvbits.c \
  111. intrinsics/move_alloc.c \
  112. intrinsics/pack_generic.c \
  113. intrinsics/selected_char_kind.c \
  114. intrinsics/size.c \
  115. intrinsics/spread_generic.c \
  116. intrinsics/string_intrinsics.c \
  117. intrinsics/rand.c \
  118. intrinsics/random.c \
  119. intrinsics/reshape_generic.c \
  120. intrinsics/reshape_packed.c \
  121. intrinsics/selected_int_kind.f90 \
  122. intrinsics/selected_real_kind.f90 \
  123. intrinsics/transpose_generic.c \
  124. intrinsics/unpack_generic.c \
  125. runtime/in_pack_generic.c \
  126. runtime/in_unpack_generic.c
  127. if !LIBGFOR_MINIMAL
  128. gfor_helper_src+= \
  129. intrinsics/access.c \
  130. intrinsics/c99_functions.c \
  131. intrinsics/chdir.c \
  132. intrinsics/chmod.c \
  133. intrinsics/clock.c \
  134. intrinsics/cpu_time.c \
  135. intrinsics/ctime.c \
  136. intrinsics/date_and_time.c \
  137. intrinsics/dtime.c \
  138. intrinsics/env.c \
  139. intrinsics/etime.c \
  140. intrinsics/execute_command_line.c \
  141. intrinsics/exit.c \
  142. intrinsics/gerror.c \
  143. intrinsics/getcwd.c \
  144. intrinsics/getlog.c \
  145. intrinsics/getXid.c \
  146. intrinsics/hostnm.c \
  147. intrinsics/kill.c \
  148. intrinsics/link.c \
  149. intrinsics/perror.c \
  150. intrinsics/signal.c \
  151. intrinsics/sleep.c \
  152. intrinsics/system.c \
  153. intrinsics/rename.c \
  154. intrinsics/stat.c \
  155. intrinsics/symlnk.c \
  156. intrinsics/system_clock.c \
  157. intrinsics/time.c \
  158. intrinsics/umask.c \
  159. intrinsics/unlink.c
  160. endif
  161. if IEEE_SUPPORT
  162. gfor_helper_src+=ieee/ieee_helper.c
  163. gfor_ieee_src= \
  164. ieee/ieee_arithmetic.F90 \
  165. ieee/ieee_exceptions.F90 \
  166. ieee/ieee_features.F90
  167. else
  168. gfor_ieee_src=
  169. endif
  170. gfor_src= \
  171. runtime/bounds.c \
  172. runtime/compile_options.c \
  173. runtime/memory.c \
  174. runtime/string.c \
  175. runtime/select.c
  176. if LIBGFOR_MINIMAL
  177. gfor_src+= runtime/minimal.c
  178. else
  179. gfor_src+= \
  180. runtime/backtrace.c \
  181. runtime/convert_char.c \
  182. runtime/environ.c \
  183. runtime/error.c \
  184. runtime/fpu.c \
  185. runtime/main.c \
  186. runtime/pause.c \
  187. runtime/stop.c
  188. endif
  189. i_all_c= \
  190. $(srcdir)/generated/all_l1.c \
  191. $(srcdir)/generated/all_l2.c \
  192. $(srcdir)/generated/all_l4.c \
  193. $(srcdir)/generated/all_l8.c \
  194. $(srcdir)/generated/all_l16.c
  195. i_any_c= \
  196. $(srcdir)/generated/any_l1.c \
  197. $(srcdir)/generated/any_l2.c \
  198. $(srcdir)/generated/any_l4.c \
  199. $(srcdir)/generated/any_l8.c \
  200. $(srcdir)/generated/any_l16.c
  201. i_bessel_c= \
  202. $(srcdir)/generated/bessel_r4.c \
  203. $(srcdir)/generated/bessel_r8.c \
  204. $(srcdir)/generated/bessel_r10.c \
  205. $(srcdir)/generated/bessel_r16.c
  206. i_count_c= \
  207. $(srcdir)/generated/count_1_l.c \
  208. $(srcdir)/generated/count_2_l.c \
  209. $(srcdir)/generated/count_4_l.c \
  210. $(srcdir)/generated/count_8_l.c \
  211. $(srcdir)/generated/count_16_l.c
  212. i_iall_c= \
  213. $(srcdir)/generated/iall_i1.c \
  214. $(srcdir)/generated/iall_i2.c \
  215. $(srcdir)/generated/iall_i4.c \
  216. $(srcdir)/generated/iall_i8.c \
  217. $(srcdir)/generated/iall_i16.c
  218. i_iany_c= \
  219. $(srcdir)/generated/iany_i1.c \
  220. $(srcdir)/generated/iany_i2.c \
  221. $(srcdir)/generated/iany_i4.c \
  222. $(srcdir)/generated/iany_i8.c \
  223. $(srcdir)/generated/iany_i16.c
  224. i_iparity_c= \
  225. $(srcdir)/generated/iparity_i1.c \
  226. $(srcdir)/generated/iparity_i2.c \
  227. $(srcdir)/generated/iparity_i4.c \
  228. $(srcdir)/generated/iparity_i8.c \
  229. $(srcdir)/generated/iparity_i16.c
  230. i_maxloc0_c= \
  231. $(srcdir)/generated/maxloc0_4_i1.c \
  232. $(srcdir)/generated/maxloc0_8_i1.c \
  233. $(srcdir)/generated/maxloc0_16_i1.c \
  234. $(srcdir)/generated/maxloc0_4_i2.c \
  235. $(srcdir)/generated/maxloc0_8_i2.c \
  236. $(srcdir)/generated/maxloc0_16_i2.c \
  237. $(srcdir)/generated/maxloc0_4_i4.c \
  238. $(srcdir)/generated/maxloc0_8_i4.c \
  239. $(srcdir)/generated/maxloc0_16_i4.c \
  240. $(srcdir)/generated/maxloc0_4_i8.c \
  241. $(srcdir)/generated/maxloc0_8_i8.c \
  242. $(srcdir)/generated/maxloc0_16_i8.c \
  243. $(srcdir)/generated/maxloc0_4_i16.c \
  244. $(srcdir)/generated/maxloc0_8_i16.c \
  245. $(srcdir)/generated/maxloc0_16_i16.c \
  246. $(srcdir)/generated/maxloc0_4_r4.c \
  247. $(srcdir)/generated/maxloc0_8_r4.c \
  248. $(srcdir)/generated/maxloc0_16_r4.c \
  249. $(srcdir)/generated/maxloc0_4_r8.c \
  250. $(srcdir)/generated/maxloc0_8_r8.c \
  251. $(srcdir)/generated/maxloc0_16_r8.c \
  252. $(srcdir)/generated/maxloc0_4_r10.c \
  253. $(srcdir)/generated/maxloc0_8_r10.c \
  254. $(srcdir)/generated/maxloc0_16_r10.c \
  255. $(srcdir)/generated/maxloc0_4_r16.c \
  256. $(srcdir)/generated/maxloc0_8_r16.c \
  257. $(srcdir)/generated/maxloc0_16_r16.c
  258. i_maxloc1_c= \
  259. $(srcdir)/generated/maxloc1_4_i1.c \
  260. $(srcdir)/generated/maxloc1_8_i1.c \
  261. $(srcdir)/generated/maxloc1_16_i1.c \
  262. $(srcdir)/generated/maxloc1_4_i2.c \
  263. $(srcdir)/generated/maxloc1_8_i2.c \
  264. $(srcdir)/generated/maxloc1_16_i2.c \
  265. $(srcdir)/generated/maxloc1_4_i4.c \
  266. $(srcdir)/generated/maxloc1_8_i4.c \
  267. $(srcdir)/generated/maxloc1_16_i4.c \
  268. $(srcdir)/generated/maxloc1_4_i8.c \
  269. $(srcdir)/generated/maxloc1_8_i8.c \
  270. $(srcdir)/generated/maxloc1_16_i8.c \
  271. $(srcdir)/generated/maxloc1_4_i16.c \
  272. $(srcdir)/generated/maxloc1_8_i16.c \
  273. $(srcdir)/generated/maxloc1_16_i16.c \
  274. $(srcdir)/generated/maxloc1_4_r4.c \
  275. $(srcdir)/generated/maxloc1_8_r4.c \
  276. $(srcdir)/generated/maxloc1_16_r4.c \
  277. $(srcdir)/generated/maxloc1_4_r8.c \
  278. $(srcdir)/generated/maxloc1_8_r8.c \
  279. $(srcdir)/generated/maxloc1_16_r8.c \
  280. $(srcdir)/generated/maxloc1_4_r10.c \
  281. $(srcdir)/generated/maxloc1_8_r10.c \
  282. $(srcdir)/generated/maxloc1_16_r10.c \
  283. $(srcdir)/generated/maxloc1_4_r16.c \
  284. $(srcdir)/generated/maxloc1_8_r16.c \
  285. $(srcdir)/generated/maxloc1_16_r16.c
  286. i_maxval_c= \
  287. $(srcdir)/generated/maxval_i1.c \
  288. $(srcdir)/generated/maxval_i2.c \
  289. $(srcdir)/generated/maxval_i4.c \
  290. $(srcdir)/generated/maxval_i8.c \
  291. $(srcdir)/generated/maxval_i16.c \
  292. $(srcdir)/generated/maxval_r4.c \
  293. $(srcdir)/generated/maxval_r8.c \
  294. $(srcdir)/generated/maxval_r10.c \
  295. $(srcdir)/generated/maxval_r16.c
  296. i_minloc0_c= \
  297. $(srcdir)/generated/minloc0_4_i1.c \
  298. $(srcdir)/generated/minloc0_8_i1.c \
  299. $(srcdir)/generated/minloc0_16_i1.c \
  300. $(srcdir)/generated/minloc0_4_i2.c \
  301. $(srcdir)/generated/minloc0_8_i2.c \
  302. $(srcdir)/generated/minloc0_16_i2.c \
  303. $(srcdir)/generated/minloc0_4_i4.c \
  304. $(srcdir)/generated/minloc0_8_i4.c \
  305. $(srcdir)/generated/minloc0_16_i4.c \
  306. $(srcdir)/generated/minloc0_4_i8.c \
  307. $(srcdir)/generated/minloc0_8_i8.c \
  308. $(srcdir)/generated/minloc0_16_i8.c \
  309. $(srcdir)/generated/minloc0_4_i16.c \
  310. $(srcdir)/generated/minloc0_8_i16.c \
  311. $(srcdir)/generated/minloc0_16_i16.c \
  312. $(srcdir)/generated/minloc0_4_r4.c \
  313. $(srcdir)/generated/minloc0_8_r4.c \
  314. $(srcdir)/generated/minloc0_16_r4.c \
  315. $(srcdir)/generated/minloc0_4_r8.c \
  316. $(srcdir)/generated/minloc0_8_r8.c \
  317. $(srcdir)/generated/minloc0_16_r8.c \
  318. $(srcdir)/generated/minloc0_4_r10.c \
  319. $(srcdir)/generated/minloc0_8_r10.c \
  320. $(srcdir)/generated/minloc0_16_r10.c \
  321. $(srcdir)/generated/minloc0_4_r16.c \
  322. $(srcdir)/generated/minloc0_8_r16.c \
  323. $(srcdir)/generated/minloc0_16_r16.c
  324. i_minloc1_c= \
  325. $(srcdir)/generated/minloc1_4_i1.c \
  326. $(srcdir)/generated/minloc1_8_i1.c \
  327. $(srcdir)/generated/minloc1_16_i1.c \
  328. $(srcdir)/generated/minloc1_4_i2.c \
  329. $(srcdir)/generated/minloc1_8_i2.c \
  330. $(srcdir)/generated/minloc1_16_i2.c \
  331. $(srcdir)/generated/minloc1_4_i4.c \
  332. $(srcdir)/generated/minloc1_8_i4.c \
  333. $(srcdir)/generated/minloc1_16_i4.c \
  334. $(srcdir)/generated/minloc1_4_i8.c \
  335. $(srcdir)/generated/minloc1_8_i8.c \
  336. $(srcdir)/generated/minloc1_16_i8.c \
  337. $(srcdir)/generated/minloc1_4_i16.c \
  338. $(srcdir)/generated/minloc1_8_i16.c \
  339. $(srcdir)/generated/minloc1_16_i16.c \
  340. $(srcdir)/generated/minloc1_4_r4.c \
  341. $(srcdir)/generated/minloc1_8_r4.c \
  342. $(srcdir)/generated/minloc1_16_r4.c \
  343. $(srcdir)/generated/minloc1_4_r8.c \
  344. $(srcdir)/generated/minloc1_8_r8.c \
  345. $(srcdir)/generated/minloc1_16_r8.c \
  346. $(srcdir)/generated/minloc1_4_r10.c \
  347. $(srcdir)/generated/minloc1_8_r10.c \
  348. $(srcdir)/generated/minloc1_16_r10.c \
  349. $(srcdir)/generated/minloc1_4_r16.c \
  350. $(srcdir)/generated/minloc1_8_r16.c \
  351. $(srcdir)/generated/minloc1_16_r16.c
  352. i_minval_c= \
  353. $(srcdir)/generated/minval_i1.c \
  354. $(srcdir)/generated/minval_i2.c \
  355. $(srcdir)/generated/minval_i4.c \
  356. $(srcdir)/generated/minval_i8.c \
  357. $(srcdir)/generated/minval_i16.c \
  358. $(srcdir)/generated/minval_r4.c \
  359. $(srcdir)/generated/minval_r8.c \
  360. $(srcdir)/generated/minval_r10.c \
  361. $(srcdir)/generated/minval_r16.c
  362. i_norm2_c= \
  363. $(srcdir)/generated/norm2_r4.c \
  364. $(srcdir)/generated/norm2_r8.c \
  365. $(srcdir)/generated/norm2_r10.c \
  366. $(srcdir)/generated/norm2_r16.c
  367. i_parity_c = \
  368. $(srcdir)/generated/parity_l1.c \
  369. $(srcdir)/generated/parity_l2.c \
  370. $(srcdir)/generated/parity_l4.c \
  371. $(srcdir)/generated/parity_l8.c \
  372. $(srcdir)/generated/parity_l16.c
  373. i_sum_c= \
  374. $(srcdir)/generated/sum_i1.c \
  375. $(srcdir)/generated/sum_i2.c \
  376. $(srcdir)/generated/sum_i4.c \
  377. $(srcdir)/generated/sum_i8.c \
  378. $(srcdir)/generated/sum_i16.c \
  379. $(srcdir)/generated/sum_r4.c \
  380. $(srcdir)/generated/sum_r8.c \
  381. $(srcdir)/generated/sum_r10.c \
  382. $(srcdir)/generated/sum_r16.c \
  383. $(srcdir)/generated/sum_c4.c \
  384. $(srcdir)/generated/sum_c8.c \
  385. $(srcdir)/generated/sum_c10.c \
  386. $(srcdir)/generated/sum_c16.c
  387. i_product_c= \
  388. $(srcdir)/generated/product_i1.c \
  389. $(srcdir)/generated/product_i2.c \
  390. $(srcdir)/generated/product_i4.c \
  391. $(srcdir)/generated/product_i8.c \
  392. $(srcdir)/generated/product_i16.c \
  393. $(srcdir)/generated/product_r4.c \
  394. $(srcdir)/generated/product_r8.c \
  395. $(srcdir)/generated/product_r10.c \
  396. $(srcdir)/generated/product_r16.c \
  397. $(srcdir)/generated/product_c4.c \
  398. $(srcdir)/generated/product_c8.c \
  399. $(srcdir)/generated/product_c10.c \
  400. $(srcdir)/generated/product_c16.c
  401. i_matmul_c= \
  402. $(srcdir)/generated/matmul_i1.c \
  403. $(srcdir)/generated/matmul_i2.c \
  404. $(srcdir)/generated/matmul_i4.c \
  405. $(srcdir)/generated/matmul_i8.c \
  406. $(srcdir)/generated/matmul_i16.c \
  407. $(srcdir)/generated/matmul_r4.c \
  408. $(srcdir)/generated/matmul_r8.c \
  409. $(srcdir)/generated/matmul_r10.c \
  410. $(srcdir)/generated/matmul_r16.c \
  411. $(srcdir)/generated/matmul_c4.c \
  412. $(srcdir)/generated/matmul_c8.c \
  413. $(srcdir)/generated/matmul_c10.c \
  414. $(srcdir)/generated/matmul_c16.c
  415. i_matmull_c= \
  416. $(srcdir)/generated/matmul_l4.c \
  417. $(srcdir)/generated/matmul_l8.c \
  418. $(srcdir)/generated/matmul_l16.c
  419. i_transpose_c= \
  420. $(srcdir)/generated/transpose_i4.c \
  421. $(srcdir)/generated/transpose_i8.c \
  422. $(srcdir)/generated/transpose_i16.c \
  423. $(srcdir)/generated/transpose_r4.c \
  424. $(srcdir)/generated/transpose_r8.c \
  425. $(srcdir)/generated/transpose_r10.c \
  426. $(srcdir)/generated/transpose_r16.c \
  427. $(srcdir)/generated/transpose_c4.c \
  428. $(srcdir)/generated/transpose_c8.c \
  429. $(srcdir)/generated/transpose_c10.c \
  430. $(srcdir)/generated/transpose_c16.c
  431. i_shape_c= \
  432. $(srcdir)/generated/shape_i4.c \
  433. $(srcdir)/generated/shape_i8.c \
  434. $(srcdir)/generated/shape_i16.c
  435. i_reshape_c= \
  436. $(srcdir)/generated/reshape_i4.c \
  437. $(srcdir)/generated/reshape_i8.c \
  438. $(srcdir)/generated/reshape_i16.c \
  439. $(srcdir)/generated/reshape_r4.c \
  440. $(srcdir)/generated/reshape_r8.c \
  441. $(srcdir)/generated/reshape_r10.c \
  442. $(srcdir)/generated/reshape_r16.c \
  443. $(srcdir)/generated/reshape_c4.c \
  444. $(srcdir)/generated/reshape_c8.c \
  445. $(srcdir)/generated/reshape_c10.c \
  446. $(srcdir)/generated/reshape_c16.c
  447. i_eoshift1_c= \
  448. $(srcdir)/generated/eoshift1_4.c \
  449. $(srcdir)/generated/eoshift1_8.c \
  450. $(srcdir)/generated/eoshift1_16.c
  451. i_eoshift3_c= \
  452. $(srcdir)/generated/eoshift3_4.c \
  453. $(srcdir)/generated/eoshift3_8.c \
  454. $(srcdir)/generated/eoshift3_16.c
  455. i_cshift0_c= \
  456. $(srcdir)/generated/cshift0_i1.c \
  457. $(srcdir)/generated/cshift0_i2.c \
  458. $(srcdir)/generated/cshift0_i4.c \
  459. $(srcdir)/generated/cshift0_i8.c \
  460. $(srcdir)/generated/cshift0_i16.c \
  461. $(srcdir)/generated/cshift0_r4.c \
  462. $(srcdir)/generated/cshift0_r8.c \
  463. $(srcdir)/generated/cshift0_r10.c \
  464. $(srcdir)/generated/cshift0_r16.c \
  465. $(srcdir)/generated/cshift0_c4.c \
  466. $(srcdir)/generated/cshift0_c8.c \
  467. $(srcdir)/generated/cshift0_c10.c \
  468. $(srcdir)/generated/cshift0_c16.c
  469. i_cshift1_c= \
  470. $(srcdir)/generated/cshift1_4.c \
  471. $(srcdir)/generated/cshift1_8.c \
  472. $(srcdir)/generated/cshift1_16.c
  473. in_pack_c = \
  474. $(srcdir)/generated/in_pack_i1.c \
  475. $(srcdir)/generated/in_pack_i2.c \
  476. $(srcdir)/generated/in_pack_i4.c \
  477. $(srcdir)/generated/in_pack_i8.c \
  478. $(srcdir)/generated/in_pack_i16.c \
  479. $(srcdir)/generated/in_pack_r4.c \
  480. $(srcdir)/generated/in_pack_r8.c \
  481. $(srcdir)/generated/in_pack_r10.c \
  482. $(srcdir)/generated/in_pack_r16.c \
  483. $(srcdir)/generated/in_pack_c4.c \
  484. $(srcdir)/generated/in_pack_c8.c \
  485. $(srcdir)/generated/in_pack_c10.c \
  486. $(srcdir)/generated/in_pack_c16.c
  487. in_unpack_c = \
  488. $(srcdir)/generated/in_unpack_i1.c \
  489. $(srcdir)/generated/in_unpack_i2.c \
  490. $(srcdir)/generated/in_unpack_i4.c \
  491. $(srcdir)/generated/in_unpack_i8.c \
  492. $(srcdir)/generated/in_unpack_i16.c \
  493. $(srcdir)/generated/in_unpack_r4.c \
  494. $(srcdir)/generated/in_unpack_r8.c \
  495. $(srcdir)/generated/in_unpack_r10.c \
  496. $(srcdir)/generated/in_unpack_r16.c \
  497. $(srcdir)/generated/in_unpack_c4.c \
  498. $(srcdir)/generated/in_unpack_c8.c \
  499. $(srcdir)/generated/in_unpack_c10.c \
  500. $(srcdir)/generated/in_unpack_c16.c
  501. i_exponent_c = \
  502. $(srcdir)/generated/exponent_r4.c \
  503. $(srcdir)/generated/exponent_r8.c \
  504. $(srcdir)/generated/exponent_r10.c \
  505. $(srcdir)/generated/exponent_r16.c
  506. i_spacing_c = \
  507. $(srcdir)/generated/spacing_r4.c \
  508. $(srcdir)/generated/spacing_r8.c \
  509. $(srcdir)/generated/spacing_r10.c \
  510. $(srcdir)/generated/spacing_r16.c
  511. i_rrspacing_c = \
  512. $(srcdir)/generated/rrspacing_r4.c \
  513. $(srcdir)/generated/rrspacing_r8.c \
  514. $(srcdir)/generated/rrspacing_r10.c \
  515. $(srcdir)/generated/rrspacing_r16.c
  516. i_fraction_c = \
  517. $(srcdir)/generated/fraction_r4.c \
  518. $(srcdir)/generated/fraction_r8.c \
  519. $(srcdir)/generated/fraction_r10.c \
  520. $(srcdir)/generated/fraction_r16.c
  521. i_nearest_c = \
  522. $(srcdir)/generated/nearest_r4.c \
  523. $(srcdir)/generated/nearest_r8.c \
  524. $(srcdir)/generated/nearest_r10.c \
  525. $(srcdir)/generated/nearest_r16.c
  526. i_set_exponent_c = \
  527. $(srcdir)/generated/set_exponent_r4.c \
  528. $(srcdir)/generated/set_exponent_r8.c \
  529. $(srcdir)/generated/set_exponent_r10.c \
  530. $(srcdir)/generated/set_exponent_r16.c
  531. i_pow_c = \
  532. $(srcdir)/generated/pow_i4_i4.c \
  533. $(srcdir)/generated/pow_i8_i4.c \
  534. $(srcdir)/generated/pow_i16_i4.c \
  535. $(srcdir)/generated/pow_r16_i4.c \
  536. $(srcdir)/generated/pow_c4_i4.c \
  537. $(srcdir)/generated/pow_c8_i4.c \
  538. $(srcdir)/generated/pow_c10_i4.c \
  539. $(srcdir)/generated/pow_c16_i4.c \
  540. $(srcdir)/generated/pow_i4_i8.c \
  541. $(srcdir)/generated/pow_i8_i8.c \
  542. $(srcdir)/generated/pow_i16_i8.c \
  543. $(srcdir)/generated/pow_r4_i8.c \
  544. $(srcdir)/generated/pow_r8_i8.c \
  545. $(srcdir)/generated/pow_r10_i8.c \
  546. $(srcdir)/generated/pow_r16_i8.c \
  547. $(srcdir)/generated/pow_c4_i8.c \
  548. $(srcdir)/generated/pow_c8_i8.c \
  549. $(srcdir)/generated/pow_c10_i8.c \
  550. $(srcdir)/generated/pow_c16_i8.c \
  551. $(srcdir)/generated/pow_i4_i16.c \
  552. $(srcdir)/generated/pow_i8_i16.c \
  553. $(srcdir)/generated/pow_i16_i16.c \
  554. $(srcdir)/generated/pow_r4_i16.c \
  555. $(srcdir)/generated/pow_r8_i16.c \
  556. $(srcdir)/generated/pow_r10_i16.c \
  557. $(srcdir)/generated/pow_r16_i16.c \
  558. $(srcdir)/generated/pow_c4_i16.c \
  559. $(srcdir)/generated/pow_c8_i16.c \
  560. $(srcdir)/generated/pow_c10_i16.c \
  561. $(srcdir)/generated/pow_c16_i16.c
  562. i_pack_c = \
  563. $(srcdir)/generated/pack_i1.c \
  564. $(srcdir)/generated/pack_i2.c \
  565. $(srcdir)/generated/pack_i4.c \
  566. $(srcdir)/generated/pack_i8.c \
  567. $(srcdir)/generated/pack_i16.c \
  568. $(srcdir)/generated/pack_r4.c \
  569. $(srcdir)/generated/pack_r8.c \
  570. $(srcdir)/generated/pack_r10.c \
  571. $(srcdir)/generated/pack_r16.c \
  572. $(srcdir)/generated/pack_c4.c \
  573. $(srcdir)/generated/pack_c8.c \
  574. $(srcdir)/generated/pack_c10.c \
  575. $(srcdir)/generated/pack_c16.c
  576. i_unpack_c = \
  577. $(srcdir)/generated/unpack_i1.c \
  578. $(srcdir)/generated/unpack_i2.c \
  579. $(srcdir)/generated/unpack_i4.c \
  580. $(srcdir)/generated/unpack_i8.c \
  581. $(srcdir)/generated/unpack_i16.c \
  582. $(srcdir)/generated/unpack_r4.c \
  583. $(srcdir)/generated/unpack_r8.c \
  584. $(srcdir)/generated/unpack_r10.c \
  585. $(srcdir)/generated/unpack_r16.c \
  586. $(srcdir)/generated/unpack_c4.c \
  587. $(srcdir)/generated/unpack_c8.c \
  588. $(srcdir)/generated/unpack_c10.c \
  589. $(srcdir)/generated/unpack_c16.c
  590. i_spread_c = \
  591. $(srcdir)/generated/spread_i1.c \
  592. $(srcdir)/generated/spread_i2.c \
  593. $(srcdir)/generated/spread_i4.c \
  594. $(srcdir)/generated/spread_i8.c \
  595. $(srcdir)/generated/spread_i16.c \
  596. $(srcdir)/generated/spread_r4.c \
  597. $(srcdir)/generated/spread_r8.c \
  598. $(srcdir)/generated/spread_r10.c \
  599. $(srcdir)/generated/spread_r16.c \
  600. $(srcdir)/generated/spread_c4.c \
  601. $(srcdir)/generated/spread_c8.c \
  602. $(srcdir)/generated/spread_c10.c \
  603. $(srcdir)/generated/spread_c16.c
  604. m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
  605. m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
  606. m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
  607. m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \
  608. m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
  609. m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
  610. m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
  611. m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
  612. m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \
  613. m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \
  614. m4/iall.m4 m4/iany.m4 m4/iparity.m4
  615. gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
  616. $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
  617. $(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_iall_c) $(i_iany_c) \
  618. $(i_iparity_c) $(i_norm2_c) $(i_parity_c) \
  619. $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
  620. $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
  621. $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
  622. $(i_pow_c) $(i_rrspacing_c) $(i_spacing_c) $(i_pack_c) $(i_unpack_c) \
  623. $(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
  624. $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc
  625. # Machine generated specifics
  626. gfor_built_specific_src= \
  627. $(srcdir)/generated/_abs_c4.F90 \
  628. $(srcdir)/generated/_abs_c8.F90 \
  629. $(srcdir)/generated/_abs_c10.F90 \
  630. $(srcdir)/generated/_abs_c16.F90 \
  631. $(srcdir)/generated/_abs_i4.F90 \
  632. $(srcdir)/generated/_abs_i8.F90 \
  633. $(srcdir)/generated/_abs_i16.F90 \
  634. $(srcdir)/generated/_abs_r4.F90 \
  635. $(srcdir)/generated/_abs_r8.F90 \
  636. $(srcdir)/generated/_abs_r10.F90 \
  637. $(srcdir)/generated/_abs_r16.F90 \
  638. $(srcdir)/generated/_aimag_c4.F90 \
  639. $(srcdir)/generated/_aimag_c8.F90 \
  640. $(srcdir)/generated/_aimag_c10.F90 \
  641. $(srcdir)/generated/_aimag_c16.F90 \
  642. $(srcdir)/generated/_exp_r4.F90 \
  643. $(srcdir)/generated/_exp_r8.F90 \
  644. $(srcdir)/generated/_exp_r10.F90 \
  645. $(srcdir)/generated/_exp_r16.F90 \
  646. $(srcdir)/generated/_exp_c4.F90 \
  647. $(srcdir)/generated/_exp_c8.F90 \
  648. $(srcdir)/generated/_exp_c10.F90 \
  649. $(srcdir)/generated/_exp_c16.F90 \
  650. $(srcdir)/generated/_log_r4.F90 \
  651. $(srcdir)/generated/_log_r8.F90 \
  652. $(srcdir)/generated/_log_r10.F90 \
  653. $(srcdir)/generated/_log_r16.F90 \
  654. $(srcdir)/generated/_log_c4.F90 \
  655. $(srcdir)/generated/_log_c8.F90 \
  656. $(srcdir)/generated/_log_c10.F90 \
  657. $(srcdir)/generated/_log_c16.F90 \
  658. $(srcdir)/generated/_log10_r4.F90 \
  659. $(srcdir)/generated/_log10_r8.F90 \
  660. $(srcdir)/generated/_log10_r10.F90 \
  661. $(srcdir)/generated/_log10_r16.F90 \
  662. $(srcdir)/generated/_sqrt_r4.F90 \
  663. $(srcdir)/generated/_sqrt_r8.F90 \
  664. $(srcdir)/generated/_sqrt_r10.F90 \
  665. $(srcdir)/generated/_sqrt_r16.F90 \
  666. $(srcdir)/generated/_sqrt_c4.F90 \
  667. $(srcdir)/generated/_sqrt_c8.F90 \
  668. $(srcdir)/generated/_sqrt_c10.F90 \
  669. $(srcdir)/generated/_sqrt_c16.F90 \
  670. $(srcdir)/generated/_asin_r4.F90 \
  671. $(srcdir)/generated/_asin_r8.F90 \
  672. $(srcdir)/generated/_asin_r10.F90 \
  673. $(srcdir)/generated/_asin_r16.F90 \
  674. $(srcdir)/generated/_asinh_r4.F90 \
  675. $(srcdir)/generated/_asinh_r8.F90 \
  676. $(srcdir)/generated/_asinh_r10.F90 \
  677. $(srcdir)/generated/_asinh_r16.F90 \
  678. $(srcdir)/generated/_acos_r4.F90 \
  679. $(srcdir)/generated/_acos_r8.F90 \
  680. $(srcdir)/generated/_acos_r10.F90 \
  681. $(srcdir)/generated/_acos_r16.F90 \
  682. $(srcdir)/generated/_acosh_r4.F90 \
  683. $(srcdir)/generated/_acosh_r8.F90 \
  684. $(srcdir)/generated/_acosh_r10.F90 \
  685. $(srcdir)/generated/_acosh_r16.F90 \
  686. $(srcdir)/generated/_atan_r4.F90 \
  687. $(srcdir)/generated/_atan_r8.F90 \
  688. $(srcdir)/generated/_atan_r10.F90 \
  689. $(srcdir)/generated/_atan_r16.F90 \
  690. $(srcdir)/generated/_atanh_r4.F90 \
  691. $(srcdir)/generated/_atanh_r8.F90 \
  692. $(srcdir)/generated/_atanh_r10.F90 \
  693. $(srcdir)/generated/_atanh_r16.F90 \
  694. $(srcdir)/generated/_sin_r4.F90 \
  695. $(srcdir)/generated/_sin_r8.F90 \
  696. $(srcdir)/generated/_sin_r10.F90 \
  697. $(srcdir)/generated/_sin_r16.F90 \
  698. $(srcdir)/generated/_sin_c4.F90 \
  699. $(srcdir)/generated/_sin_c8.F90 \
  700. $(srcdir)/generated/_sin_c10.F90 \
  701. $(srcdir)/generated/_sin_c16.F90 \
  702. $(srcdir)/generated/_cos_r4.F90 \
  703. $(srcdir)/generated/_cos_r8.F90 \
  704. $(srcdir)/generated/_cos_r10.F90 \
  705. $(srcdir)/generated/_cos_r16.F90 \
  706. $(srcdir)/generated/_cos_c4.F90 \
  707. $(srcdir)/generated/_cos_c8.F90 \
  708. $(srcdir)/generated/_cos_c10.F90 \
  709. $(srcdir)/generated/_cos_c16.F90 \
  710. $(srcdir)/generated/_tan_r4.F90 \
  711. $(srcdir)/generated/_tan_r8.F90 \
  712. $(srcdir)/generated/_tan_r10.F90 \
  713. $(srcdir)/generated/_tan_r16.F90 \
  714. $(srcdir)/generated/_sinh_r4.F90 \
  715. $(srcdir)/generated/_sinh_r8.F90 \
  716. $(srcdir)/generated/_sinh_r10.F90 \
  717. $(srcdir)/generated/_sinh_r16.F90 \
  718. $(srcdir)/generated/_cosh_r4.F90 \
  719. $(srcdir)/generated/_cosh_r8.F90 \
  720. $(srcdir)/generated/_cosh_r10.F90 \
  721. $(srcdir)/generated/_cosh_r16.F90 \
  722. $(srcdir)/generated/_tanh_r4.F90 \
  723. $(srcdir)/generated/_tanh_r8.F90 \
  724. $(srcdir)/generated/_tanh_r10.F90 \
  725. $(srcdir)/generated/_tanh_r16.F90 \
  726. $(srcdir)/generated/_conjg_c4.F90 \
  727. $(srcdir)/generated/_conjg_c8.F90 \
  728. $(srcdir)/generated/_conjg_c10.F90 \
  729. $(srcdir)/generated/_conjg_c16.F90 \
  730. $(srcdir)/generated/_aint_r4.F90 \
  731. $(srcdir)/generated/_aint_r8.F90 \
  732. $(srcdir)/generated/_aint_r10.F90 \
  733. $(srcdir)/generated/_aint_r16.F90 \
  734. $(srcdir)/generated/_anint_r4.F90 \
  735. $(srcdir)/generated/_anint_r8.F90 \
  736. $(srcdir)/generated/_anint_r10.F90 \
  737. $(srcdir)/generated/_anint_r16.F90
  738. gfor_built_specific2_src= \
  739. $(srcdir)/generated/_sign_i4.F90 \
  740. $(srcdir)/generated/_sign_i8.F90 \
  741. $(srcdir)/generated/_sign_i16.F90 \
  742. $(srcdir)/generated/_sign_r4.F90 \
  743. $(srcdir)/generated/_sign_r8.F90 \
  744. $(srcdir)/generated/_sign_r10.F90 \
  745. $(srcdir)/generated/_sign_r16.F90 \
  746. $(srcdir)/generated/_dim_i4.F90 \
  747. $(srcdir)/generated/_dim_i8.F90 \
  748. $(srcdir)/generated/_dim_i16.F90 \
  749. $(srcdir)/generated/_dim_r4.F90 \
  750. $(srcdir)/generated/_dim_r8.F90 \
  751. $(srcdir)/generated/_dim_r10.F90 \
  752. $(srcdir)/generated/_dim_r16.F90 \
  753. $(srcdir)/generated/_atan2_r4.F90 \
  754. $(srcdir)/generated/_atan2_r8.F90 \
  755. $(srcdir)/generated/_atan2_r10.F90 \
  756. $(srcdir)/generated/_atan2_r16.F90 \
  757. $(srcdir)/generated/_mod_i4.F90 \
  758. $(srcdir)/generated/_mod_i8.F90 \
  759. $(srcdir)/generated/_mod_i16.F90 \
  760. $(srcdir)/generated/_mod_r4.F90 \
  761. $(srcdir)/generated/_mod_r8.F90 \
  762. $(srcdir)/generated/_mod_r10.F90 \
  763. $(srcdir)/generated/_mod_r16.F90
  764. gfor_misc_specifics = $(srcdir)/generated/misc_specifics.F90
  765. gfor_specific_src= \
  766. $(gfor_built_specific_src) \
  767. $(gfor_built_specific2_src) \
  768. $(gfor_misc_specifics) \
  769. intrinsics/dprod_r8.f90 \
  770. intrinsics/f2c_specifics.F90
  771. # Turn on vectorization and loop unrolling for matmul.
  772. $(patsubst %.c,%.lo,$(notdir $(i_matmul_c))): AM_CFLAGS += -ftree-vectorize -funroll-loops
  773. # Logical matmul doesn't vectorize.
  774. $(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
  775. # Add the -fallow-leading-underscore option when needed
  776. $(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore
  777. selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
  778. if IEEE_SUPPORT
  779. # Add flags for IEEE modules
  780. $(patsubst %.F90,%.lo,$(notdir $(gfor_ieee_src))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
  781. endif
  782. # Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
  783. ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo
  784. $(LTPPFCCOMPILE) -c -o $@ $<
  785. ieee_features.mod: ieee_features.lo
  786. :
  787. ieee_exceptions.mod: ieee_exceptions.lo
  788. :
  789. ieee_arithmetic.mod: ieee_arithmetic.lo
  790. :
  791. BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
  792. $(gfor_built_specific2_src) $(gfor_misc_specifics)
  793. prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
  794. $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
  795. if onestep
  796. # dummy sources for libtool
  797. BUILT_SOURCES+=libgfortran_c.c libgfortran_f.f90
  798. libgfortran_c.c libgfortran_f.f90 libgfortran_F.F90:
  799. echo > $@
  800. # overrides for libtool perusing the dummy sources
  801. libgfortran_c.o: $(filter %.c,$(prereq_SRC))
  802. $(COMPILE) -c $^ -o $@ -combine
  803. libgfortran_c.lo: $(filter %.c,$(prereq_SRC))
  804. $(LTCOMPILE) -c -o $@ $^ -combine
  805. #libgfortran_f.o: $(filter %.f %.f90,$(prereq_SRC))
  806. # $(FCCOMPILE) -c $^ -o $@ -combine
  807. #libgfortran_f.lo: $(filter %.f %.f90,$(prereq_SRC))
  808. # $(LTFCCOMPILE) -c -o $@ $^ -combine
  809. # not currently used:
  810. #libgfortran_F.o: $(filter %.F %.F90,$(prereq_SRC))
  811. # $(PPFCCOMPILE) -c $^ -o $@ -combine
  812. #
  813. #libgfortran_F.lo:
  814. # $(LTPPFCCOMPILE) -c -o $@ $^ -combine
  815. libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC))
  816. else
  817. libgfortran_la_SOURCES = $(prereq_SRC)
  818. endif
  819. I_M4_DEPS=m4/iparm.m4
  820. I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
  821. I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
  822. I_M4_DEPS2=$(I_M4_DEPS) m4/ifunction_logical.m4
  823. kinds.h: $(srcdir)/mk-kinds-h.sh
  824. $(SHELL) $(srcdir)/mk-kinds-h.sh '$(FCCOMPILE)' > $@ || rm $@
  825. kinds.inc: kinds.h
  826. grep '^#' < kinds.h > $@
  827. c99_protos.inc: $(srcdir)/c99_protos.h
  828. grep '^#' < $(srcdir)/c99_protos.h > $@
  829. selected_int_kind.inc: $(srcdir)/mk-sik-inc.sh
  830. $(SHELL) $(srcdir)/mk-sik-inc.sh '$(FCCOMPILE)' > $@ || rm $@
  831. selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
  832. $(SHELL) $(srcdir)/mk-srk-inc.sh '$(FCCOMPILE)' > $@ || rm $@
  833. fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
  834. cp $(srcdir)/$(FPU_HOST_HEADER) $@
  835. fpu-target.inc: fpu-target.h $(srcdir)/libgfortran.h
  836. grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
  837. grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
  838. ## A 'normal' build shouldn't need to regenerate these
  839. ## so we only include them in maintainer mode
  840. if MAINTAINER_MODE
  841. $(i_all_c): m4/all.m4 $(I_M4_DEPS2)
  842. $(M4) -Dfile=$@ -I$(srcdir)/m4 all.m4 > $@
  843. $(i_bessel_c): m4/bessel.m4 $(I_M4_DEPS)
  844. $(M4) -Dfile=$@ -I$(srcdir)/m4 bessel.m4 > $@
  845. $(i_any_c): m4/any.m4 $(I_M4_DEPS2)
  846. $(M4) -Dfile=$@ -I$(srcdir)/m4 any.m4 > $@
  847. $(i_count_c): m4/count.m4 $(I_M4_DEPS2)
  848. $(M4) -Dfile=$@ -I$(srcdir)/m4 count.m4 > $@
  849. $(i_iall_c): m4/iall.m4 $(I_M4_DEPS1)
  850. $(M4) -Dfile=$@ -I$(srcdir)/m4 iall.m4 > $@
  851. $(i_iany_c): m4/iany.m4 $(I_M4_DEPS1)
  852. $(M4) -Dfile=$@ -I$(srcdir)/m4 iany.m4 > $@
  853. $(i_iparity_c): m4/iparity.m4 $(I_M4_DEPS1)
  854. $(M4) -Dfile=$@ -I$(srcdir)/m4 iparity.m4 > $@
  855. $(i_maxloc0_c): m4/maxloc0.m4 $(I_M4_DEPS0)
  856. $(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc0.m4 > $@
  857. $(i_maxloc1_c): m4/maxloc1.m4 $(I_M4_DEPS1)
  858. $(M4) -Dfile=$@ -I$(srcdir)/m4 maxloc1.m4 > $@
  859. $(i_maxval_c): m4/maxval.m4 $(I_M4_DEPS1)
  860. $(M4) -Dfile=$@ -I$(srcdir)/m4 maxval.m4 > $@
  861. $(i_minloc0_c): m4/minloc0.m4 $(I_M4_DEPS0)
  862. $(M4) -Dfile=$@ -I$(srcdir)/m4 minloc0.m4 > $@
  863. $(i_minloc1_c): m4/minloc1.m4 $(I_M4_DEPS1)
  864. $(M4) -Dfile=$@ -I$(srcdir)/m4 minloc1.m4 > $@
  865. $(i_minval_c): m4/minval.m4 $(I_M4_DEPS1)
  866. $(M4) -Dfile=$@ -I$(srcdir)/m4 minval.m4 > $@
  867. $(i_product_c): m4/product.m4 $(I_M4_DEPS1)
  868. $(M4) -Dfile=$@ -I$(srcdir)/m4 product.m4 > $@
  869. $(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
  870. $(M4) -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $@
  871. $(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
  872. $(M4) -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $@
  873. $(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
  874. $(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
  875. $(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS1)
  876. $(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
  877. $(i_parity_c): m4/parity.m4 $(I_M4_DEPS1)
  878. $(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
  879. $(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
  880. $(M4) -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $@
  881. $(i_shape_c): m4/shape.m4 $(I_M4_DEPS)
  882. $(M4) -Dfile=$@ -I$(srcdir)/m4 shape.m4 > $@
  883. $(i_reshape_c): m4/reshape.m4 $(I_M4_DEPS)
  884. $(M4) -Dfile=$@ -I$(srcdir)/m4 reshape.m4 > $@
  885. $(i_eoshift1_c): m4/eoshift1.m4 $(I_M4_DEPS)
  886. $(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift1.m4 > $@
  887. $(i_eoshift3_c): m4/eoshift3.m4 $(I_M4_DEPS)
  888. $(M4) -Dfile=$@ -I$(srcdir)/m4 eoshift3.m4 > $@
  889. $(i_cshift0_c): m4/cshift0.m4 $(I_M4_DEPS)
  890. $(M4) -Dfile=$@ -I$(srcdir)/m4 cshift0.m4 > $@
  891. $(i_cshift1_c): m4/cshift1.m4 $(I_M4_DEPS)
  892. $(M4) -Dfile=$@ -I$(srcdir)/m4 cshift1.m4 > $@
  893. $(in_pack_c): m4/in_pack.m4 $(I_M4_DEPS)
  894. $(M4) -Dfile=$@ -I$(srcdir)/m4 in_pack.m4 > $@
  895. $(in_unpack_c): m4/in_unpack.m4 $(I_M4_DEPS)
  896. $(M4) -Dfile=$@ -I$(srcdir)/m4 in_unpack.m4 > $@
  897. $(i_exponent_c): m4/exponent.m4 m4/mtype.m4
  898. $(M4) -Dfile=$@ -I$(srcdir)/m4 exponent.m4 > $@
  899. $(i_rrspacing_c): m4/rrspacing.m4 m4/mtype.m4
  900. $(M4) -Dfile=$@ -I$(srcdir)/m4 rrspacing.m4 > $@
  901. $(i_spacing_c): m4/spacing.m4 m4/mtype.m4
  902. $(M4) -Dfile=$@ -I$(srcdir)/m4 spacing.m4 > $@
  903. $(i_fraction_c): m4/fraction.m4 m4/mtype.m4
  904. $(M4) -Dfile=$@ -I$(srcdir)/m4 fraction.m4 > $@
  905. $(i_nearest_c): m4/nearest.m4 m4/mtype.m4
  906. $(M4) -Dfile=$@ -I$(srcdir)/m4 nearest.m4 > $@
  907. $(i_set_exponent_c): m4/set_exponent.m4 m4/mtype.m4
  908. $(M4) -Dfile=$@ -I$(srcdir)/m4 set_exponent.m4 > $@
  909. $(i_pow_c): m4/pow.m4 $(I_M4_DEPS)
  910. $(M4) -Dfile=$@ -I$(srcdir)/m4 pow.m4 > $@
  911. $(i_pack_c): m4/pack.m4 $(I_M4_DEPS)
  912. $(M4) -Dfile=$@ -I$(srcdir)/m4 pack.m4 > $@
  913. $(i_unpack_c): m4/unpack.m4 $(I_M4_DEPS)
  914. $(M4) -Dfile=$@ -I$(srcdir)/m4 unpack.m4 > $@
  915. $(i_spread_c): m4/spread.m4 $(I_M4_DEPS)
  916. $(M4) -Dfile=$@ -I$(srcdir)/m4 spread.m4 > $@
  917. $(gfor_built_specific_src): m4/specific.m4 m4/head.m4
  918. $(M4) -Dfile=$@ -I$(srcdir)/m4 specific.m4 > $@
  919. $(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
  920. $(M4) -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $@
  921. $(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
  922. $(M4) -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $@
  923. ## end of maintainer mode only rules
  924. endif
  925. EXTRA_DIST = $(m4_files)