| OLD | NEW |
| (Empty) |
| 1 ## Process this file with automake to generate Makefile.in | |
| 2 | |
| 3 | |
| 4 # Copyright 1991, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, | |
| 5 # 2006, 2007, 2008 Free Software Foundation, Inc. | |
| 6 # | |
| 7 # This file is part of the GNU MP Library. | |
| 8 # | |
| 9 # The GNU MP Library is free software; you can redistribute it and/or modify | |
| 10 # it under the terms of the GNU Lesser General Public License as published by | |
| 11 # the Free Software Foundation; either version 3 of the License, or (at your | |
| 12 # option) any later version. | |
| 13 # | |
| 14 # The GNU MP Library is distributed in the hope that it will be useful, but | |
| 15 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 16 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
| 17 # License for more details. | |
| 18 # | |
| 19 # You should have received a copy of the GNU Lesser General Public License | |
| 20 # along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. | |
| 21 | |
| 22 | |
| 23 # The following options are the same as AM_INIT_AUTOMAKE in configure.in, | |
| 24 # except no $(top_builddir) on ansi2knr. That directory is wanted for the | |
| 25 # Makefiles in subdirectories, but here we must omit it so automake gives | |
| 26 # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr". | |
| 27 # | |
| 28 AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr | |
| 29 | |
| 30 | |
| 31 # Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the | |
| 32 # libtool manual. | |
| 33 # | |
| 34 # CURRENT:REVISION:AGE | |
| 35 # | |
| 36 # 1. No interfaces changed, only implementations (good): Increment REVISION. | |
| 37 # | |
| 38 # 2. Interfaces added, none removed (good): Increment CURRENT, increment | |
| 39 # AGE, set REVISION to 0. | |
| 40 # | |
| 41 # 3. Interfaces removed (BAD, breaks upward compatibility): Increment | |
| 42 # CURRENT, set AGE and REVISION to 0. | |
| 43 # | |
| 44 # Do this separately for libgmp, libgmpxx and libmp, and only for releases. | |
| 45 # | |
| 46 # GMP -version-info | |
| 47 # release libgmp libgmpxx libmp | |
| 48 # 2.0.x - - - | |
| 49 # 3.0 3:0:0 - 3:0:0 | |
| 50 # 3.0.1 3:1:0 - 3:0:0 | |
| 51 # 3.1 4:0:1 - 4:0:1 | |
| 52 # 3.1.1 4:1:1 - 4:1:1 | |
| 53 # 4.0 5:0:2 3:0:0 4:2:1 | |
| 54 # 4.0.1 5:1:2 3:1:0 4:3:1 | |
| 55 # 4.1 6:0:3 3:2:0 4:4:1 | |
| 56 # 4.1.1 6:1:3 3:3:0 4:5:1 | |
| 57 # 4.1.2 6:2:3 3:4:0 4:6:1 | |
| 58 # 4.1.3 6:3:3 3:5:0 4:7:1 | |
| 59 # 4.1.4 6:3:3 3:5:0 4:7:1 WRONG, same as 4.1.3! | |
| 60 # 4.2 6:0:3 3:2:0 4:4:1 REALLY WRONG, same as 4.1! | |
| 61 # 4.2.1 7:1:4 4:1:1 4:10:1 WRONG for libgmpxx | |
| 62 # 4.2.2 7:2:4 4:2:0 4:11:1 | |
| 63 # 4.2.3 7:3:4 4:3:0 4:12:1 | |
| 64 # 4.2.4 7:4:4 4:4:0 4:13:1 | |
| 65 # 4.3.0 8:0:5 5:0:1 4:14:1 | |
| 66 # 4.3.1 8:1:5 5:1:1 4:15:1 | |
| 67 # | |
| 68 # Starting at 3:0:0 is a slight abuse of the versioning system, but it | |
| 69 # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux | |
| 70 # packages of gmp 2. Pretend gmp 2 was 2:0:0, so the interface changes for | |
| 71 # gmp 3 mean 3:0:0 is right. | |
| 72 # | |
| 73 # We interpret "implementation changed" in item "1." above as meaning any | |
| 74 # release, ie. the REVISION is incremented every time (if nothing else). | |
| 75 # Even if we thought the code generated will be identical on all systems, | |
| 76 # it's still good to get the shared library filename (like | |
| 77 # libgmpxx.so.3.0.4) incrementing, to make it clear which GMP it's from. | |
| 78 | |
| 79 LIBGMP_LT_CURRENT = 8 | |
| 80 LIBGMP_LT_REVISION = 0 | |
| 81 LIBGMP_LT_AGE = 5 | |
| 82 | |
| 83 LIBGMPXX_LT_CURRENT = 5 | |
| 84 LIBGMPXX_LT_REVISION = 0 | |
| 85 LIBGMPXX_LT_AGE = 1 | |
| 86 | |
| 87 LIBMP_LT_CURRENT = 4 | |
| 88 LIBMP_LT_REVISION = 14 | |
| 89 LIBMP_LT_AGE = 1 | |
| 90 | |
| 91 | |
| 92 SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune doc | |
| 93 | |
| 94 EXTRA_DIST = macos configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf | |
| 95 | |
| 96 if WANT_CXX | |
| 97 GMPXX_HEADERS_OPTION = gmpxx.h | |
| 98 endif | |
| 99 EXTRA_DIST += gmpxx.h | |
| 100 | |
| 101 # gmp.h and mp.h are architecture dependent, mainly since they encode the | |
| 102 # limb size used in libgmp. For that reason they belong under $exec_prefix | |
| 103 # not $prefix, strictly speaking. | |
| 104 # | |
| 105 # $exec_prefix/include is not in the default include path for gcc built to | |
| 106 # the same $prefix and $exec_prefix, which might mean gmp.h is not found, | |
| 107 # but anyone knowledgable enough to be playing with exec_prefix will be able | |
| 108 # to address that. | |
| 109 # | |
| 110 includeexecdir = $(exec_prefix)/include | |
| 111 include_HEADERS = $(GMPXX_HEADERS_OPTION) | |
| 112 nodist_includeexec_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION) | |
| 113 lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) $(MPBSD_LTLIBRARIES_OPTI
ON) | |
| 114 | |
| 115 BUILT_SOURCES = gmp.h | |
| 116 | |
| 117 DISTCLEANFILES = $(BUILT_SOURCES) config.m4 @gmp_srclinks@ | |
| 118 | |
| 119 # Tell gmp.h it's building gmp, not an application, used by windows DLL stuff. | |
| 120 INCLUDES=-D__GMP_WITHIN_GMP | |
| 121 | |
| 122 | |
| 123 MPF_OBJECTS = mpf/init$U.lo mpf/init2$U.lo mpf/set$U.lo mpf/set_ui$U.lo \ | |
| 124 mpf/set_si$U.lo mpf/set_str$U.lo mpf/set_d$U.lo mpf/set_z$U.lo \ | |
| 125 mpf/iset$U.lo mpf/iset_ui$U.lo mpf/iset_si$U.lo mpf/iset_str$U.lo \ | |
| 126 mpf/iset_d$U.lo mpf/clear$U.lo mpf/get_str$U.lo mpf/dump$U.lo \ | |
| 127 mpf/size$U.lo mpf/eq$U.lo mpf/reldiff$U.lo mpf/sqrt$U.lo mpf/random2$U.lo \ | |
| 128 mpf/inp_str$U.lo mpf/out_str$U.lo mpf/add$U.lo mpf/add_ui$U.lo \ | |
| 129 mpf/sub$U.lo mpf/sub_ui$U.lo mpf/ui_sub$U.lo mpf/mul$U.lo mpf/mul_ui$U.lo \ | |
| 130 mpf/div$U.lo mpf/div_ui$U.lo \ | |
| 131 mpf/cmp$U.lo mpf/cmp_d$U.lo mpf/cmp_ui$U.lo mpf/cmp_si$U.lo \ | |
| 132 mpf/mul_2exp$U.lo mpf/div_2exp$U.lo mpf/abs$U.lo mpf/neg$U.lo \ | |
| 133 mpf/set_q$U.lo mpf/get_d$U.lo mpf/get_d_2exp$U.lo mpf/set_dfl_prec$U.lo \ | |
| 134 mpf/set_prc$U.lo mpf/set_prc_raw$U.lo mpf/get_dfl_prec$U.lo \ | |
| 135 mpf/get_prc$U.lo mpf/ui_div$U.lo mpf/sqrt_ui$U.lo \ | |
| 136 mpf/ceilfloor$U.lo mpf/trunc$U.lo mpf/pow_ui$U.lo \ | |
| 137 mpf/urandomb$U.lo mpf/swap$U.lo \ | |
| 138 mpf/fits_sint$U.lo mpf/fits_slong$U.lo mpf/fits_sshort$U.lo \ | |
| 139 mpf/fits_uint$U.lo mpf/fits_ulong$U.lo mpf/fits_ushort$U.lo \ | |
| 140 mpf/get_si$U.lo mpf/get_ui$U.lo \ | |
| 141 mpf/int_p$U.lo | |
| 142 | |
| 143 MPZ_OBJECTS = mpz/abs$U.lo mpz/add$U.lo mpz/add_ui$U.lo \ | |
| 144 mpz/aorsmul$U.lo mpz/aorsmul_i$U.lo mpz/and$U.lo mpz/array_init$U.lo \ | |
| 145 mpz/bin_ui$U.lo mpz/bin_uiui$U.lo \ | |
| 146 mpz/cdiv_q$U.lo mpz/cdiv_q_ui$U.lo \ | |
| 147 mpz/cdiv_qr$U.lo mpz/cdiv_qr_ui$U.lo \ | |
| 148 mpz/cdiv_r$U.lo mpz/cdiv_r_ui$U.lo mpz/cdiv_ui$U.lo \ | |
| 149 mpz/cfdiv_q_2exp$U.lo mpz/cfdiv_r_2exp$U.lo \ | |
| 150 mpz/clear$U.lo mpz/clrbit$U.lo \ | |
| 151 mpz/cmp$U.lo mpz/cmp_d$U.lo mpz/cmp_si$U.lo mpz/cmp_ui$U.lo \ | |
| 152 mpz/cmpabs$U.lo mpz/cmpabs_d$U.lo mpz/cmpabs_ui$U.lo \ | |
| 153 mpz/com$U.lo mpz/combit$U.lo \ | |
| 154 mpz/cong$U.lo mpz/cong_2exp$U.lo mpz/cong_ui$U.lo \ | |
| 155 mpz/divexact$U.lo mpz/divegcd$U.lo mpz/dive_ui$U.lo \ | |
| 156 mpz/divis$U.lo mpz/divis_ui$U.lo mpz/divis_2exp$U.lo mpz/dump$U.lo \ | |
| 157 mpz/export$U.lo mpz/fac_ui$U.lo mpz/fdiv_q$U.lo \ | |
| 158 mpz/fdiv_q_ui$U.lo mpz/fdiv_qr$U.lo mpz/fdiv_qr_ui$U.lo \ | |
| 159 mpz/fdiv_r$U.lo mpz/fdiv_r_ui$U.lo \ | |
| 160 mpz/fdiv_ui$U.lo mpz/fib_ui$U.lo mpz/fib2_ui$U.lo mpz/fits_sint$U.lo \ | |
| 161 mpz/fits_slong$U.lo mpz/fits_sshort$U.lo mpz/fits_uint$U.lo \ | |
| 162 mpz/fits_ulong$U.lo mpz/fits_ushort$U.lo mpz/gcd$U.lo \ | |
| 163 mpz/gcd_ui$U.lo mpz/gcdext$U.lo mpz/get_d$U.lo mpz/get_d_2exp$U.lo \ | |
| 164 mpz/get_si$U.lo mpz/get_str$U.lo mpz/get_ui$U.lo mpz/getlimbn$U.lo \ | |
| 165 mpz/hamdist$U.lo \ | |
| 166 mpz/import$U.lo mpz/init$U.lo mpz/init2$U.lo mpz/inp_raw$U.lo \ | |
| 167 mpz/inp_str$U.lo mpz/invert$U.lo \ | |
| 168 mpz/ior$U.lo mpz/iset$U.lo mpz/iset_d$U.lo mpz/iset_si$U.lo \ | |
| 169 mpz/iset_str$U.lo mpz/iset_ui$U.lo mpz/jacobi$U.lo mpz/kronsz$U.lo \ | |
| 170 mpz/kronuz$U.lo mpz/kronzs$U.lo mpz/kronzu$U.lo \ | |
| 171 mpz/lcm$U.lo mpz/lcm_ui$U.lo mpz/lucnum_ui$U.lo mpz/lucnum2_ui$U.lo \ | |
| 172 mpz/millerrabin$U.lo mpz/mod$U.lo mpz/mul$U.lo mpz/mul_2exp$U.lo \ | |
| 173 mpz/mul_si$U.lo mpz/mul_ui$U.lo \ | |
| 174 mpz/n_pow_ui$U.lo mpz/neg$U.lo mpz/nextprime$U.lo \ | |
| 175 mpz/out_raw$U.lo mpz/out_str$U.lo mpz/perfpow$U.lo mpz/perfsqr$U.lo \ | |
| 176 mpz/popcount$U.lo mpz/pow_ui$U.lo mpz/powm$U.lo mpz/powm_ui$U.lo \ | |
| 177 mpz/pprime_p$U.lo mpz/random$U.lo mpz/random2$U.lo \ | |
| 178 mpz/realloc$U.lo mpz/realloc2$U.lo mpz/remove$U.lo \ | |
| 179 mpz/root$U.lo mpz/rootrem$U.lo mpz/rrandomb$U.lo mpz/scan0$U.lo \ | |
| 180 mpz/scan1$U.lo mpz/set$U.lo mpz/set_d$U.lo mpz/set_f$U.lo \ | |
| 181 mpz/set_q$U.lo mpz/set_si$U.lo mpz/set_str$U.lo mpz/set_ui$U.lo \ | |
| 182 mpz/setbit$U.lo \ | |
| 183 mpz/size$U.lo mpz/sizeinbase$U.lo mpz/sqrt$U.lo \ | |
| 184 mpz/sqrtrem$U.lo mpz/sub$U.lo mpz/sub_ui$U.lo mpz/swap$U.lo \ | |
| 185 mpz/tdiv_ui$U.lo mpz/tdiv_q$U.lo mpz/tdiv_q_2exp$U.lo \ | |
| 186 mpz/tdiv_q_ui$U.lo mpz/tdiv_qr$U.lo mpz/tdiv_qr_ui$U.lo \ | |
| 187 mpz/tdiv_r$U.lo mpz/tdiv_r_2exp$U.lo mpz/tdiv_r_ui$U.lo \ | |
| 188 mpz/tstbit$U.lo mpz/ui_pow_ui$U.lo mpz/ui_sub$U.lo mpz/urandomb$U.lo \ | |
| 189 mpz/urandomm$U.lo mpz/xor$U.lo | |
| 190 | |
| 191 MPQ_OBJECTS = mpq/abs$U.lo mpq/aors$U.lo \ | |
| 192 mpq/canonicalize$U.lo mpq/clear$U.lo \ | |
| 193 mpq/cmp$U.lo mpq/cmp_si$U.lo mpq/cmp_ui$U.lo mpq/div$U.lo \ | |
| 194 mpq/get_d$U.lo mpq/get_den$U.lo mpq/get_num$U.lo mpq/get_str$U.lo \ | |
| 195 mpq/init$U.lo mpq/inp_str$U.lo mpq/inv$U.lo \ | |
| 196 mpq/md_2exp$U.lo mpq/mul$U.lo mpq/neg$U.lo mpq/out_str$U.lo \ | |
| 197 mpq/set$U.lo mpq/set_den$U.lo mpq/set_num$U.lo \ | |
| 198 mpq/set_si$U.lo mpq/set_str$U.lo mpq/set_ui$U.lo \ | |
| 199 mpq/equal$U.lo mpq/set_z$U.lo mpq/set_d$U.lo \ | |
| 200 mpq/set_f$U.lo mpq/swap$U.lo | |
| 201 | |
| 202 MPN_OBJECTS = mpn/fib_table$U.lo mpn/mp_bases$U.lo | |
| 203 | |
| 204 PRINTF_OBJECTS = \ | |
| 205 printf/asprintf$U.lo printf/asprntffuns$U.lo \ | |
| 206 printf/doprnt$U.lo printf/doprntf$U.lo printf/doprnti$U.lo \ | |
| 207 printf/fprintf$U.lo \ | |
| 208 printf/obprintf$U.lo printf/obvprintf$U.lo printf/obprntffuns$U.lo \ | |
| 209 printf/printf$U.lo printf/printffuns$U.lo \ | |
| 210 printf/snprintf$U.lo printf/snprntffuns$U.lo \ | |
| 211 printf/sprintf$U.lo printf/sprintffuns$U.lo \ | |
| 212 printf/vasprintf$U.lo printf/vfprintf$U.lo printf/vprintf$U.lo \ | |
| 213 printf/vsnprintf$U.lo printf/vsprintf$U.lo \ | |
| 214 printf/repl-vsnprintf$U.lo | |
| 215 | |
| 216 SCANF_OBJECTS = \ | |
| 217 scanf/doscan$U.lo scanf/fscanf$U.lo scanf/fscanffuns$U.lo \ | |
| 218 scanf/scanf$U.lo scanf/sscanf$U.lo scanf/sscanffuns$U.lo \ | |
| 219 scanf/vfscanf$U.lo scanf/vscanf$U.lo scanf/vsscanf$U.lo | |
| 220 | |
| 221 # no $U for C++ files | |
| 222 CXX_OBJECTS = \ | |
| 223 cxx/isfuns.lo cxx/ismpf.lo cxx/ismpq.lo cxx/ismpz.lo cxx/ismpznw.lo \ | |
| 224 cxx/osdoprnti.lo cxx/osfuns.lo \ | |
| 225 cxx/osmpf.lo cxx/osmpq.lo cxx/osmpz.lo | |
| 226 | |
| 227 MPBSD_OBJECTS = mpbsd/add$U.lo mpbsd/tdiv_qr$U.lo mpbsd/set$U.lo \ | |
| 228 mpbsd/powm$U.lo mpbsd/sub$U.lo mpbsd/cmp$U.lo mpbsd/mfree$U.lo \ | |
| 229 mpbsd/mtox$U.lo mpbsd/realloc$U.lo mpbsd/gcd$U.lo mpbsd/itom$U.lo \ | |
| 230 mpbsd/min$U.lo mpbsd/mul$U.lo mpbsd/mout$U.lo mpbsd/rpow$U.lo \ | |
| 231 mpbsd/sdiv$U.lo mpbsd/sqrtrem$U.lo mpbsd/xtom$U.lo | |
| 232 | |
| 233 | |
| 234 # In libtool 1.5 it doesn't work to build libgmp.la from the convenience | |
| 235 # libraries like mpz/libmpz.la. Or rather it works, but it ends up putting | |
| 236 # PIC objects into libgmp.a if shared and static are both built. (The PIC | |
| 237 # objects go into mpz/.libs/libmpz.a, and thence into .libs/libgmp.a.) | |
| 238 # | |
| 239 # For now the big lists of objects above are used. Something like mpz/*.lo | |
| 240 # would probably work, but might risk missing something out or getting | |
| 241 # something extra. The source files for each .lo are listed in the | |
| 242 # Makefile.am's in the subdirectories. | |
| 243 # | |
| 244 # Currently, for libgmp, unlike libmp below, we're not using | |
| 245 # -export-symbols, since the tune and speed programs, and perhaps some of | |
| 246 # the test programs, want to access undocumented symbols. | |
| 247 | |
| 248 libgmp_la_SOURCES = gmp-impl.h longlong.h randmt.h \ | |
| 249 assert.c compat.c errno.c extract-dbl.c invalid.c memory.c \ | |
| 250 mp_bpl.c mp_clz_tab.c mp_dv_tab.c mp_minv_tab.c mp_get_fns.c mp_set_fns.c \ | |
| 251 rand.c randclr.c randdef.c randiset.c randlc2s.c randlc2x.c randmt.c \ | |
| 252 randmts.c rands.c randsd.c randsdui.c randbui.c randmui.c version.c | |
| 253 EXTRA_libgmp_la_SOURCES = tal-debug.c tal-notreent.c tal-reent.c | |
| 254 libgmp_la_DEPENDENCIES = @TAL_OBJECT@ \ | |
| 255 $(MPF_OBJECTS) $(MPZ_OBJECTS) $(MPQ_OBJECTS) \ | |
| 256 $(MPN_OBJECTS) @mpn_objs_in_libgmp@ \ | |
| 257 $(PRINTF_OBJECTS) $(SCANF_OBJECTS) | |
| 258 libgmp_la_LIBADD = $(libgmp_la_DEPENDENCIES) | |
| 259 libgmp_la_LDFLAGS = $(GMP_LDFLAGS) $(LIBGMP_LDFLAGS) \ | |
| 260 -version-info $(LIBGMP_LT_CURRENT):$(LIBGMP_LT_REVISION):$(LIBGMP_LT_AGE) | |
| 261 | |
| 262 | |
| 263 # We need at least one .cc file in $(libgmpxx_la_SOURCES) so automake will | |
| 264 # use $(CXXLINK) rather than the plain C $(LINK). cxx/dummy.cc is that | |
| 265 # file. | |
| 266 | |
| 267 if WANT_CXX | |
| 268 GMPXX_LTLIBRARIES_OPTION = libgmpxx.la | |
| 269 endif | |
| 270 libgmpxx_la_SOURCES = cxx/dummy.cc | |
| 271 libgmpxx_la_DEPENDENCIES = $(CXX_OBJECTS) libgmp.la | |
| 272 libgmpxx_la_LIBADD = $(libgmpxx_la_DEPENDENCIES) | |
| 273 libgmpxx_la_LDFLAGS = $(GMP_LDFLAGS) $(LIBGMPXX_LDFLAGS) \ | |
| 274 -version-info $(LIBGMPXX_LT_CURRENT):$(LIBGMPXX_LT_REVISION):$(LIBGMPXX_LT_AGE
) | |
| 275 | |
| 276 | |
| 277 # The selected mpz objects here support mpz/powm.c (built as mpbsd/powm.lo) | |
| 278 # and can probably be removed when that switches to an mpn implementation. | |
| 279 # (Apart from mpz/n_pow_ui$U.lo, which supports mpbsd/rpow.c) | |
| 280 | |
| 281 if WANT_MPBSD | |
| 282 MPBSD_HEADERS_OPTION = mp.h | |
| 283 MPBSD_LTLIBRARIES_OPTION = libmp.la | |
| 284 endif | |
| 285 BUILT_SOURCES += mp.h | |
| 286 libmp_la_SOURCES = assert.c errno.c memory.c mp_bpl.c mp_clz_tab.c \ | |
| 287 mp_dv_tab.c mp_minv_tab.c mp_get_fns.c mp_set_fns.c | |
| 288 libmp_la_DEPENDENCIES = $(srcdir)/libmp.sym \ | |
| 289 @TAL_OBJECT@ $(MPBSD_OBJECTS) $(MPN_OBJECTS) @mpn_objs_in_libmp@ \ | |
| 290 mpz/add$U.lo mpz/gcdext$U.lo mpz/invert$U.lo mpz/mul$U.lo \ | |
| 291 mpz/n_pow_ui$U.lo mpz/realloc$U.lo mpz/set$U.lo mpz/sub$U.lo \ | |
| 292 mpz/tdiv_q$U.lo | |
| 293 libmp_la_LIBADD = $(libmp_la_DEPENDENCIES) | |
| 294 libmp_la_LDFLAGS = $(GMP_LDFLAGS) \ | |
| 295 -version-info $(LIBMP_LT_CURRENT):$(LIBMP_LT_REVISION):$(LIBMP_LT_AGE) \ | |
| 296 -export-symbols $(srcdir)/libmp.sym | |
| 297 EXTRA_DIST += libmp.sym | |
| 298 | |
| 299 | |
| 300 install-data-hook: | |
| 301 @echo '' | |
| 302 @echo '+-------------------------------------------------------------+' | |
| 303 @echo '| CAUTION: |' | |
| 304 @echo '| |' | |
| 305 @echo '| If you have not already run "make check", then we strongly |' | |
| 306 @echo '| recommend you do so. |' | |
| 307 @echo '| |' | |
| 308 @echo '| GMP has been carefully tested by its authors, but compilers |' | |
| 309 @echo '| are all too often released with serious bugs. GMP tends to |' | |
| 310 @echo '| explore interesting corners in compilers and has hit bugs |' | |
| 311 @echo '| on quite a few occasions. |' | |
| 312 @echo '| |' | |
| 313 @echo '+-------------------------------------------------------------+' | |
| 314 @echo '' | |
| 315 | |
| 316 | |
| 317 # The ansi2knr setups for the build programs are the same as the normal | |
| 318 # automake ansi2knr rules, but using $(CC_FOR_BUILD) instead of $(CC). | |
| 319 # | |
| 320 # The "test -f" support for srcdir!=builddir is similar to the automake .c.o | |
| 321 # etc rules, but with each foo.c explicitly, since $< is not portable | |
| 322 # outside an inference rule. | |
| 323 # | |
| 324 # A quoted 'foo.c' is used with the "test -f"'s to avoid Sun make rewriting | |
| 325 # it as part of its VPATH support. See the autoconf manual "Limitations of | |
| 326 # Make". | |
| 327 # | |
| 328 # Generated .h files which are used by gmp-impl.h are BUILT_SOURCES since | |
| 329 # they must exist before anything can be compiled. | |
| 330 # | |
| 331 # Other generated .h files are also BUILT_SOURCES so as to get all the | |
| 332 # build-system stuff over and done with at the start. Also, dependencies on | |
| 333 # the .h files are not properly expressed for the various objects that use | |
| 334 # them. | |
| 335 | |
| 336 EXTRA_DIST += dumbmp.c | |
| 337 | |
| 338 mpz/fac_ui.h: gen-fac_ui$(EXEEXT_FOR_BUILD) | |
| 339 ./gen-fac_ui $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mpz/fac_ui.h || (rm -
f mpz/fac_ui.h; exit 1) | |
| 340 BUILT_SOURCES += mpz/fac_ui.h | |
| 341 | |
| 342 gen-fac_ui$(EXEEXT_FOR_BUILD): gen-fac_ui$(U_FOR_BUILD).c dumbmp.c | |
| 343 $(CC_FOR_BUILD) `test -f 'gen-fac_ui$(U_FOR_BUILD).c' || echo '$(srcdir)
/'`gen-fac_ui$(U_FOR_BUILD).c -o gen-fac_ui$(EXEEXT_FOR_BUILD) | |
| 344 DISTCLEANFILES += gen-fac_ui$(EXEEXT_FOR_BUILD) | |
| 345 EXTRA_DIST += gen-fac_ui.c | |
| 346 | |
| 347 gen-fac_ui_.c: gen-fac_ui.c $(ANSI2KNR) | |
| 348 $(CPP_FOR_BUILD) `if test -f $(srcdir)/gen-fac_ui.c; then echo $(srcdir)
/gen-fac_ui.c; else echo gen-fac_ui.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(
ANSI2KNR) > gen-fac_ui_.c || rm -f gen-fac_ui_.c | |
| 349 | |
| 350 | |
| 351 fib_table.h: gen-fib$(EXEEXT_FOR_BUILD) | |
| 352 ./gen-fib header $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >fib_table.h || (r
m -f fib_table.h; exit 1) | |
| 353 BUILT_SOURCES += fib_table.h | |
| 354 | |
| 355 mpn/fib_table.c: gen-fib$(EXEEXT_FOR_BUILD) | |
| 356 ./gen-fib table $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mpn/fib_table.c ||
(rm -f mpn/fib_table.c; exit 1) | |
| 357 BUILT_SOURCES += mpn/fib_table.c | |
| 358 | |
| 359 gen-fib$(EXEEXT_FOR_BUILD): gen-fib$(U_FOR_BUILD).c dumbmp.c | |
| 360 $(CC_FOR_BUILD) `test -f 'gen-fib$(U_FOR_BUILD).c' || echo '$(srcdir)/'`
gen-fib$(U_FOR_BUILD).c -o gen-fib$(EXEEXT_FOR_BUILD) | |
| 361 DISTCLEANFILES += gen-fib$(EXEEXT_FOR_BUILD) | |
| 362 EXTRA_DIST += gen-fib.c | |
| 363 | |
| 364 gen-fib_.c: gen-fib.c $(ANSI2KNR) | |
| 365 $(CPP_FOR_BUILD) `if test -f $(srcdir)/gen-fib.c; then echo $(srcdir)/ge
n-fib.c; else echo gen-fib.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR)
> gen-fib_.c || rm -f gen-fib_.c | |
| 366 | |
| 367 | |
| 368 mp_bases.h: gen-bases$(EXEEXT_FOR_BUILD) | |
| 369 ./gen-bases header $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mp_bases.h || (
rm -f mp_bases.h; exit 1) | |
| 370 BUILT_SOURCES += mp_bases.h | |
| 371 | |
| 372 mpn/mp_bases.c: gen-bases$(EXEEXT_FOR_BUILD) | |
| 373 ./gen-bases table $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mpn/mp_bases.c |
| (rm -f mpn/mp_bases.c; exit 1) | |
| 374 BUILT_SOURCES += mpn/mp_bases.c | |
| 375 | |
| 376 gen-bases$(EXEEXT_FOR_BUILD): gen-bases$(U_FOR_BUILD).c dumbmp.c | |
| 377 $(CC_FOR_BUILD) `test -f 'gen-bases$(U_FOR_BUILD).c' || echo '$(srcdir)/
'`gen-bases$(U_FOR_BUILD).c -o gen-bases$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) | |
| 378 DISTCLEANFILES += gen-bases$(EXEEXT_FOR_BUILD) | |
| 379 EXTRA_DIST += gen-bases.c | |
| 380 | |
| 381 gen-bases_.c: gen-bases.c $(ANSI2KNR) | |
| 382 $(CPP_FOR_BUILD) `if test -f $(srcdir)/gen-bases.c; then echo $(srcdir)/
gen-bases.c; else echo gen-bases.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANS
I2KNR) > gen-bases_.c || rm -f gen-bases_.c | |
| 383 | |
| 384 | |
| 385 mpn/perfsqr.h: gen-psqr$(EXEEXT_FOR_BUILD) | |
| 386 ./gen-psqr $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mpn/perfsqr.h || (rm -f
mpn/perfsqr.h; exit 1) | |
| 387 BUILT_SOURCES += mpn/perfsqr.h | |
| 388 | |
| 389 gen-psqr$(EXEEXT_FOR_BUILD): gen-psqr$(U_FOR_BUILD).c dumbmp.c | |
| 390 $(CC_FOR_BUILD) `test -f 'gen-psqr$(U_FOR_BUILD).c' || echo '$(srcdir)/'
`gen-psqr$(U_FOR_BUILD).c -o gen-psqr$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) | |
| 391 DISTCLEANFILES += gen-psqr$(EXEEXT_FOR_BUILD) | |
| 392 EXTRA_DIST += gen-psqr.c | |
| 393 | |
| 394 gen-psqr_.c: gen-psqr.c $(ANSI2KNR) | |
| 395 $(CPP_FOR_BUILD) `if test -f $(srcdir)/gen-psqr.c; then echo $(srcdir)/g
en-psqr.c; else echo gen-psqr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2K
NR) > gen-psqr_.c || rm -f gen-psqr_.c | |
| 396 | |
| 397 | |
| 398 # Avoid: CVS - cvs directories | |
| 399 # *~ - emacs backups | |
| 400 # .#* - cvs merge originals | |
| 401 # | |
| 402 # *~ and .#* only occur when a whole directory without it's own Makefile.am | |
| 403 # is distributed, like "doc" or the mpn cpu subdirectories. | |
| 404 # | |
| 405 dist-hook: | |
| 406 -find $(distdir) \( -name CVS -type d \) -o -name "*~" -o -name ".#*" \ | |
| 407 | xargs rm -rf | |
| OLD | NEW |