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