1d8170990Szrj# if wrapper mode 2d8170990Szrj.if (defined(NO_CROSSTOOLS) && defined(BOOTSTRAPPING)) || \ 3d8170990Szrj (!defined(BOOTSTRAPPING) && defined(NO_TOOLCHAIN)) 4d8170990Szrj.include "Makefile.zhack" 5d8170990Szrj.else 6d8170990Szrj 7d8170990Szrj# normal mode 82290a76eSJohn MarinoLIB= gmp 92290a76eSJohn MarinoINTERNALLIB= # yes 102290a76eSJohn Marino 112290a76eSJohn MarinoCONTRIBDIR= ${.CURDIR}/../../../contrib/gmp 122290a76eSJohn Marino.PATH: ${CONTRIBDIR} 132290a76eSJohn Marino 142290a76eSJohn Marino.include "${.CURDIR}/Makefile.${MACHINE_ARCH}" 152290a76eSJohn Marino 162290a76eSJohn MarinoCFLAGS+= -D__GMP_WITHIN_GMP -I${CONTRIBDIR} -I${.OBJDIR} -I${.CURDIR} 172290a76eSJohn MarinoCFLAGS+= -I${CONTRIBDIR}/mpn/generic 182290a76eSJohn MarinoCFLAGS+= -D__LONG_INT_BYTES=${LONG_INT_BYTES} 192290a76eSJohn MarinoCFLAGS+= -D__INT_BITS=${INT_BITS} 202290a76eSJohn MarinoCFLAGS+= -DHAVE_HOST_CPU_FAMILY_${CPU_FAMILY}=1 212290a76eSJohn Marino 222290a76eSJohn Marino 232290a76eSJohn Marino# The following comes verbatim from Makefile.am 242290a76eSJohn Marino 252290a76eSJohn MarinoMPF_OBJECTS = mpf/init$U.lo mpf/init2$U.lo mpf/inits$U.lo mpf/set$U.lo \ 262290a76eSJohn Marino mpf/set_ui$U.lo mpf/set_si$U.lo mpf/set_str$U.lo mpf/set_d$U.lo \ 272290a76eSJohn Marino mpf/set_z$U.lo mpf/iset$U.lo mpf/iset_ui$U.lo mpf/iset_si$U.lo \ 282290a76eSJohn Marino mpf/iset_str$U.lo mpf/iset_d$U.lo mpf/clear$U.lo mpf/clears$U.lo \ 292290a76eSJohn Marino mpf/get_str$U.lo mpf/dump$U.lo mpf/size$U.lo mpf/eq$U.lo mpf/reldiff$U.lo \ 302290a76eSJohn Marino mpf/sqrt$U.lo mpf/random2$U.lo mpf/inp_str$U.lo mpf/out_str$U.lo \ 312290a76eSJohn Marino mpf/add$U.lo mpf/add_ui$U.lo mpf/sub$U.lo mpf/sub_ui$U.lo mpf/ui_sub$U.lo \ 322290a76eSJohn Marino mpf/mul$U.lo mpf/mul_ui$U.lo mpf/div$U.lo mpf/div_ui$U.lo \ 332290a76eSJohn Marino mpf/cmp$U.lo mpf/cmp_d$U.lo mpf/cmp_ui$U.lo mpf/cmp_si$U.lo \ 342290a76eSJohn Marino mpf/mul_2exp$U.lo mpf/div_2exp$U.lo mpf/abs$U.lo mpf/neg$U.lo \ 352290a76eSJohn Marino mpf/set_q$U.lo mpf/get_d$U.lo mpf/get_d_2exp$U.lo mpf/set_dfl_prec$U.lo \ 362290a76eSJohn Marino mpf/set_prc$U.lo mpf/set_prc_raw$U.lo mpf/get_dfl_prec$U.lo \ 372290a76eSJohn Marino mpf/get_prc$U.lo mpf/ui_div$U.lo mpf/sqrt_ui$U.lo \ 382290a76eSJohn Marino mpf/ceilfloor$U.lo mpf/trunc$U.lo mpf/pow_ui$U.lo \ 392290a76eSJohn Marino mpf/urandomb$U.lo mpf/swap$U.lo \ 402290a76eSJohn Marino mpf/fits_sint$U.lo mpf/fits_slong$U.lo mpf/fits_sshort$U.lo \ 412290a76eSJohn Marino mpf/fits_uint$U.lo mpf/fits_ulong$U.lo mpf/fits_ushort$U.lo \ 422290a76eSJohn Marino mpf/get_si$U.lo mpf/get_ui$U.lo \ 432290a76eSJohn Marino mpf/int_p$U.lo 442290a76eSJohn Marino 452290a76eSJohn MarinoMPZ_OBJECTS = mpz/abs$U.lo mpz/add$U.lo mpz/add_ui$U.lo \ 462290a76eSJohn Marino mpz/aorsmul$U.lo mpz/aorsmul_i$U.lo mpz/and$U.lo mpz/array_init$U.lo \ 472290a76eSJohn Marino mpz/bin_ui$U.lo mpz/bin_uiui$U.lo \ 482290a76eSJohn Marino mpz/cdiv_q$U.lo mpz/cdiv_q_ui$U.lo \ 492290a76eSJohn Marino mpz/cdiv_qr$U.lo mpz/cdiv_qr_ui$U.lo \ 502290a76eSJohn Marino mpz/cdiv_r$U.lo mpz/cdiv_r_ui$U.lo mpz/cdiv_ui$U.lo \ 512290a76eSJohn Marino mpz/cfdiv_q_2exp$U.lo mpz/cfdiv_r_2exp$U.lo \ 522290a76eSJohn Marino mpz/clear$U.lo mpz/clears$U.lo mpz/clrbit$U.lo \ 532290a76eSJohn Marino mpz/cmp$U.lo mpz/cmp_d$U.lo mpz/cmp_si$U.lo mpz/cmp_ui$U.lo \ 542290a76eSJohn Marino mpz/cmpabs$U.lo mpz/cmpabs_d$U.lo mpz/cmpabs_ui$U.lo \ 552290a76eSJohn Marino mpz/com$U.lo mpz/combit$U.lo \ 562290a76eSJohn Marino mpz/cong$U.lo mpz/cong_2exp$U.lo mpz/cong_ui$U.lo \ 572290a76eSJohn Marino mpz/divexact$U.lo mpz/divegcd$U.lo mpz/dive_ui$U.lo \ 582290a76eSJohn Marino mpz/divis$U.lo mpz/divis_ui$U.lo mpz/divis_2exp$U.lo mpz/dump$U.lo \ 592290a76eSJohn Marino mpz/export$U.lo mpz/fac_ui$U.lo mpz/fdiv_q$U.lo \ 602290a76eSJohn Marino mpz/fdiv_q_ui$U.lo mpz/fdiv_qr$U.lo mpz/fdiv_qr_ui$U.lo \ 612290a76eSJohn Marino mpz/fdiv_r$U.lo mpz/fdiv_r_ui$U.lo \ 622290a76eSJohn Marino mpz/fdiv_ui$U.lo mpz/fib_ui$U.lo mpz/fib2_ui$U.lo mpz/fits_sint$U.lo \ 632290a76eSJohn Marino mpz/fits_slong$U.lo mpz/fits_sshort$U.lo mpz/fits_uint$U.lo \ 642290a76eSJohn Marino mpz/fits_ulong$U.lo mpz/fits_ushort$U.lo mpz/gcd$U.lo \ 652290a76eSJohn Marino mpz/gcd_ui$U.lo mpz/gcdext$U.lo mpz/get_d$U.lo mpz/get_d_2exp$U.lo \ 662290a76eSJohn Marino mpz/get_si$U.lo mpz/get_str$U.lo mpz/get_ui$U.lo mpz/getlimbn$U.lo \ 672290a76eSJohn Marino mpz/hamdist$U.lo \ 682290a76eSJohn Marino mpz/import$U.lo mpz/init$U.lo mpz/init2$U.lo mpz/inits$U.lo \ 692290a76eSJohn Marino mpz/inp_raw$U.lo mpz/inp_str$U.lo mpz/invert$U.lo \ 702290a76eSJohn Marino mpz/ior$U.lo mpz/iset$U.lo mpz/iset_d$U.lo mpz/iset_si$U.lo \ 712290a76eSJohn Marino mpz/iset_str$U.lo mpz/iset_ui$U.lo mpz/jacobi$U.lo mpz/kronsz$U.lo \ 722290a76eSJohn Marino mpz/kronuz$U.lo mpz/kronzs$U.lo mpz/kronzu$U.lo \ 732290a76eSJohn Marino mpz/lcm$U.lo mpz/lcm_ui$U.lo mpz/lucnum_ui$U.lo mpz/lucnum2_ui$U.lo \ 742290a76eSJohn Marino mpz/millerrabin$U.lo mpz/mod$U.lo mpz/mul$U.lo mpz/mul_2exp$U.lo \ 752290a76eSJohn Marino mpz/mul_si$U.lo mpz/mul_ui$U.lo \ 762290a76eSJohn Marino mpz/n_pow_ui$U.lo mpz/neg$U.lo mpz/nextprime$U.lo \ 772290a76eSJohn Marino mpz/out_raw$U.lo mpz/out_str$U.lo mpz/perfpow$U.lo mpz/perfsqr$U.lo \ 782290a76eSJohn Marino mpz/popcount$U.lo mpz/pow_ui$U.lo mpz/powm$U.lo mpz/powm_sec$U.lo \ 792290a76eSJohn Marino mpz/powm_ui$U.lo mpz/pprime_p$U.lo mpz/random$U.lo mpz/random2$U.lo \ 802290a76eSJohn Marino mpz/realloc$U.lo mpz/realloc2$U.lo mpz/remove$U.lo \ 812290a76eSJohn Marino mpz/root$U.lo mpz/rootrem$U.lo mpz/rrandomb$U.lo mpz/scan0$U.lo \ 822290a76eSJohn Marino mpz/scan1$U.lo mpz/set$U.lo mpz/set_d$U.lo mpz/set_f$U.lo \ 832290a76eSJohn Marino mpz/set_q$U.lo mpz/set_si$U.lo mpz/set_str$U.lo mpz/set_ui$U.lo \ 842290a76eSJohn Marino mpz/setbit$U.lo \ 852290a76eSJohn Marino mpz/size$U.lo mpz/sizeinbase$U.lo mpz/sqrt$U.lo \ 862290a76eSJohn Marino mpz/sqrtrem$U.lo mpz/sub$U.lo mpz/sub_ui$U.lo mpz/swap$U.lo \ 872290a76eSJohn Marino mpz/tdiv_ui$U.lo mpz/tdiv_q$U.lo mpz/tdiv_q_2exp$U.lo \ 882290a76eSJohn Marino mpz/tdiv_q_ui$U.lo mpz/tdiv_qr$U.lo mpz/tdiv_qr_ui$U.lo \ 892290a76eSJohn Marino mpz/tdiv_r$U.lo mpz/tdiv_r_2exp$U.lo mpz/tdiv_r_ui$U.lo \ 902290a76eSJohn Marino mpz/tstbit$U.lo mpz/ui_pow_ui$U.lo mpz/ui_sub$U.lo mpz/urandomb$U.lo \ 912290a76eSJohn Marino mpz/urandomm$U.lo mpz/xor$U.lo 922290a76eSJohn Marino 932290a76eSJohn MarinoMPQ_OBJECTS = mpq/abs$U.lo mpq/aors$U.lo \ 942290a76eSJohn Marino mpq/canonicalize$U.lo mpq/clear$U.lo mpq/clears$U.lo \ 952290a76eSJohn Marino mpq/cmp$U.lo mpq/cmp_si$U.lo mpq/cmp_ui$U.lo mpq/div$U.lo \ 962290a76eSJohn Marino mpq/get_d$U.lo mpq/get_den$U.lo mpq/get_num$U.lo mpq/get_str$U.lo \ 972290a76eSJohn Marino mpq/init$U.lo mpq/inits$U.lo mpq/inp_str$U.lo mpq/inv$U.lo \ 982290a76eSJohn Marino mpq/md_2exp$U.lo mpq/mul$U.lo mpq/neg$U.lo mpq/out_str$U.lo \ 992290a76eSJohn Marino mpq/set$U.lo mpq/set_den$U.lo mpq/set_num$U.lo \ 1002290a76eSJohn Marino mpq/set_si$U.lo mpq/set_str$U.lo mpq/set_ui$U.lo \ 1012290a76eSJohn Marino mpq/equal$U.lo mpq/set_z$U.lo mpq/set_d$U.lo \ 1022290a76eSJohn Marino mpq/set_f$U.lo mpq/swap$U.lo 1032290a76eSJohn Marino 1042290a76eSJohn MarinoMPN_OBJECTS = mpn/fib_table$U.lo mpn/mp_bases$U.lo 1052290a76eSJohn Marino 1062290a76eSJohn MarinoPRINTF_OBJECTS = \ 1072290a76eSJohn Marino printf/asprintf$U.lo printf/asprntffuns$U.lo \ 1082290a76eSJohn Marino printf/doprnt$U.lo printf/doprntf$U.lo printf/doprnti$U.lo \ 1092290a76eSJohn Marino printf/fprintf$U.lo \ 1102290a76eSJohn Marino printf/printf$U.lo printf/printffuns$U.lo \ 1112290a76eSJohn Marino printf/snprintf$U.lo printf/snprntffuns$U.lo \ 1122290a76eSJohn Marino printf/sprintf$U.lo printf/sprintffuns$U.lo \ 1132290a76eSJohn Marino printf/vasprintf$U.lo printf/vfprintf$U.lo printf/vprintf$U.lo \ 114a74bcbdeSzrj printf/vsnprintf$U.lo printf/vsprintf$U.lo 115a74bcbdeSzrj 116a74bcbdeSzrj# only when HAVE_OBSTACK_VPRINTF 117a74bcbdeSzrj#PRINTF_OBJECTS += \ 118a74bcbdeSzrj printf/obprintf$U.lo printf/obvprintf$U.lo printf/obprntffuns$U.lo 119a74bcbdeSzrj 120a74bcbdeSzrj# only when ! HAVE_VSNPRINTF (when don't have vsnprintf) 121a74bcbdeSzrj#PRINTF_OBJECTS += \ 1222290a76eSJohn Marino printf/repl-vsnprintf$U.lo 1232290a76eSJohn Marino 1242290a76eSJohn MarinoSCANF_OBJECTS = \ 1252290a76eSJohn Marino scanf/doscan$U.lo scanf/fscanf$U.lo scanf/fscanffuns$U.lo \ 1262290a76eSJohn Marino scanf/scanf$U.lo scanf/sscanf$U.lo scanf/sscanffuns$U.lo \ 1272290a76eSJohn Marino scanf/vfscanf$U.lo scanf/vscanf$U.lo scanf/vsscanf$U.lo 1282290a76eSJohn Marino 1292290a76eSJohn Marinolibgmp_la_SOURCES = gmp-impl.h longlong.h randmt.h \ 1302290a76eSJohn Marino assert.c compat.c errno.c extract-dbl.c invalid.c memory.c \ 131a74bcbdeSzrj mp_bpl.c mp_dv_tab.c mp_minv_tab.c mp_get_fns.c mp_set_fns.c \ 1322290a76eSJohn Marino rand.c randclr.c randdef.c randiset.c randlc2s.c randlc2x.c randmt.c \ 1332290a76eSJohn Marino randmts.c rands.c randsd.c randsdui.c randbui.c randmui.c version.c \ 1342290a76eSJohn Marino nextprime.c 1352290a76eSJohn Marino 136a74bcbdeSzrj# only when COUNT_LEADING_ZEROS_NEED_CLZ_TAB 137a74bcbdeSzrj#libgmp_la_SOURCES = mp_clz_tab.c 138a74bcbdeSzrj 1392290a76eSJohn Marino# From configure.in 1402290a76eSJohn Marinogmp_mpn_functions_optional=umul udiv \ 1412290a76eSJohn Marino invert_limb sqr_diagonal \ 1422290a76eSJohn Marino mul_2 mul_3 mul_4 \ 1432290a76eSJohn Marino addmul_2 addmul_3 addmul_4 addmul_5 addmul_6 addmul_7 addmul_8 \ 1442290a76eSJohn Marino addlsh1_n sublsh1_n rsblsh1_n rsh1add_n rsh1sub_n \ 1452290a76eSJohn Marino addlsh2_n sublsh2_n rsblsh2_n \ 1462290a76eSJohn Marino addlsh_n sublsh_n rsblsh_n \ 1472290a76eSJohn Marino add_n_sub_n addaddmul_1msb0 1482290a76eSJohn Marino 1492290a76eSJohn Marinogmp_mpn_functions=${extra_functions} \ 1502290a76eSJohn Marino add add_1 add_n sub sub_1 sub_n neg com mul_1 addmul_1 \ 1512290a76eSJohn Marino submul_1 lshift rshift dive_1 diveby3 divis divrem divrem_1 divrem_2 \ 1522290a76eSJohn Marino fib2_ui mod_1 mod_34lsub1 mode1o pre_divrem_1 pre_mod_1 dump \ 1532290a76eSJohn Marino mod_1_1 mod_1_2 mod_1_3 mod_1_4 lshiftc \ 1542290a76eSJohn Marino mul mul_fft mul_n sqr mul_basecase sqr_basecase nussbaumer_mul \ 1552290a76eSJohn Marino random random2 pow_1 \ 1562290a76eSJohn Marino rootrem sqrtrem get_str set_str scan0 scan1 popcount hamdist cmp \ 1572290a76eSJohn Marino perfsqr perfpow \ 1582290a76eSJohn Marino gcd_1 gcd gcdext_1 gcdext gcd_lehmer gcd_subdiv_step \ 1592290a76eSJohn Marino gcdext_lehmer gcdext_subdiv_step \ 1602290a76eSJohn Marino div_q tdiv_qr jacbase get_d \ 1612290a76eSJohn Marino matrix22_mul hgcd2 hgcd mullo_n mullo_basecase \ 1622290a76eSJohn Marino toom22_mul toom32_mul toom42_mul toom52_mul toom62_mul \ 1632290a76eSJohn Marino toom33_mul toom43_mul toom53_mul toom63_mul \ 1642290a76eSJohn Marino toom44_mul \ 1652290a76eSJohn Marino toom6h_mul toom6_sqr toom8h_mul toom8_sqr \ 1662290a76eSJohn Marino toom_couple_handling \ 1672290a76eSJohn Marino toom2_sqr toom3_sqr toom4_sqr \ 1682290a76eSJohn Marino toom_eval_dgr3_pm1 toom_eval_dgr3_pm2 \ 1692290a76eSJohn Marino toom_eval_pm1 toom_eval_pm2 toom_eval_pm2exp toom_eval_pm2rexp \ 1702290a76eSJohn Marino toom_interpolate_5pts toom_interpolate_6pts toom_interpolate_7pts \ 1712290a76eSJohn Marino toom_interpolate_8pts toom_interpolate_12pts toom_interpolate_16pts \ 1722290a76eSJohn Marino invertappr invert binvert mulmod_bnm1 sqrmod_bnm1 \ 1732290a76eSJohn Marino sbpi1_div_q sbpi1_div_qr sbpi1_divappr_q \ 1742290a76eSJohn Marino dcpi1_div_q dcpi1_div_qr dcpi1_divappr_q \ 1752290a76eSJohn Marino mu_div_qr mu_divappr_q mu_div_q \ 1762290a76eSJohn Marino bdiv_q_1 \ 1772290a76eSJohn Marino sbpi1_bdiv_q sbpi1_bdiv_qr \ 1782290a76eSJohn Marino dcpi1_bdiv_q dcpi1_bdiv_qr \ 1792290a76eSJohn Marino mu_bdiv_q mu_bdiv_qr \ 1802290a76eSJohn Marino bdiv_q bdiv_qr \ 1812290a76eSJohn Marino divexact bdiv_dbm1c redc_1 redc_2 redc_n powm powlo powm_sec subcnd_n \ 1822290a76eSJohn Marino redc_1_sec trialdiv remove \ 1832290a76eSJohn Marino and_n andn_n nand_n ior_n iorn_n nior_n xor_n xnor_n \ 1842290a76eSJohn Marino copyi copyd zero \ 1852290a76eSJohn Marino ${gmp_mpn_functions_optional} 1862290a76eSJohn Marino 1872290a76eSJohn Marino# end verbatim copy 1882290a76eSJohn Marino 1892290a76eSJohn MarinoMULFUNC_add_n= aors_n 1902290a76eSJohn MarinoMULFUNC_sub_n= aors_n 1912290a76eSJohn MarinoMULFUNC_addmul_1= aorsmul_1 1922290a76eSJohn MarinoMULFUNC_submul_1= aorsmul_1 1932290a76eSJohn MarinoMULFUNC_popcount= popham 1942290a76eSJohn MarinoMULFUNC_hamdist= popham 1952290a76eSJohn MarinoMULFUNC_and_n= logops_n 1962290a76eSJohn MarinoMULFUNC_andn_n= logops_n 1972290a76eSJohn MarinoMULFUNC_nand_n= logops_n 1982290a76eSJohn MarinoMULFUNC_ior_n= logops_n 1992290a76eSJohn MarinoMULFUNC_iorn_n= logops_n 2002290a76eSJohn MarinoMULFUNC_nior_n= logops_n 2012290a76eSJohn MarinoMULFUNC_xor_n= logops_n 2022290a76eSJohn MarinoMULFUNC_xnor_n= logops_n 2032290a76eSJohn MarinoMULFUNC_lshift= lorrshift 2042290a76eSJohn MarinoMULFUNC_rshift= lorrshift 2052290a76eSJohn MarinoMULFUNC_addlsh1_n= aorslsh1_n 2062290a76eSJohn MarinoMULFUNC_sublsh1_n= aorslsh1_n 2072290a76eSJohn MarinoMULFUNC_rsh1add_n= rsh1aors_n 2082290a76eSJohn MarinoMULFUNC_rsh1sub_n= rsh1aors_n 2092290a76eSJohn Marino 2102290a76eSJohn Marino 2112290a76eSJohn MarinoU= 2122290a76eSJohn Marinoextra_functions= 2132290a76eSJohn MarinoLO_OBJECTS= ${MPF_OBJECTS} ${MPZ_OBJECTS} ${MPQ_OBJECTS} ${MPN_OBJECTS} \ 2142290a76eSJohn Marino ${PRINTF_OBJECTS} ${SCANF_OBJECTS} 2152290a76eSJohn Marino 2162290a76eSJohn Marino.for func in ${gmp_mpn_functions} 2172290a76eSJohn Marino.for mapfunc in ${func} ${MULFUNC_${func}} 2182290a76eSJohn Marino.for mapsource in mpn/generic/${mapfunc}.c 2192290a76eSJohn Marino.for source in mpn/generic/${func}.c 2202290a76eSJohn Marino.if exists(${mapsource}) && empty(MPNSRC:M${source}) 2212290a76eSJohn Marino 2222290a76eSJohn Marino.if !exists(${source}) 2232290a76eSJohn Marino${source}: ${mapsource} mkdirs 2242290a76eSJohn Marino cp ${.ALLSRC:Nmkdirs} ${.TARGET} 2252290a76eSJohn MarinoCLEANFILES+= ${source} 2262290a76eSJohn Marino.ORDER: mkdirs ${source} 2272290a76eSJohn Marino.endif 2282290a76eSJohn Marino 2292290a76eSJohn MarinoMPNSRC+= ${source} 2302290a76eSJohn Marino${source:.c=.o}: ${source} 2312290a76eSJohn Marino ${CC} -o ${.TARGET} ${CFLAGS} -DOPERATION_${func} -c ${.ALLSRC} 2322290a76eSJohn Marino.endif 2332290a76eSJohn Marino.endfor 2342290a76eSJohn Marino.endfor 2352290a76eSJohn Marino.endfor 2362290a76eSJohn Marino.endfor 2372290a76eSJohn Marino 2382290a76eSJohn MarinoSRCS= ${LO_OBJECTS:.lo=.c} ${libgmp_la_SOURCES} ${MPNSRC} 2392290a76eSJohn MarinoSRCS+= tal-reent.c 2402290a76eSJohn Marino 2412290a76eSJohn Marino# the following are generated sources, so we have to add them 2422290a76eSJohn Marino# explicitly to SRCS 2432290a76eSJohn MarinoGENSRC= fac_ui.h fib_table.h mpn/fib_table.c mp_bases.h perfsqr.h 2442290a76eSJohn MarinoGENSRC+= trialdivtab.h 2452290a76eSJohn MarinoSRCS+= ${GENSRC} 2462290a76eSJohn MarinoCLEANFILES+= ${GENSRC} 2472290a76eSJohn Marino 2482290a76eSJohn Marino 2492290a76eSJohn Marinofac_ui.h: gen-fac_ui.nx 2502290a76eSJohn Marino ${.OBJDIR}/gen-fac_ui.nx ${LONG_INT_BITS} 0 > ${.TARGET} 2512290a76eSJohn Marino 2522290a76eSJohn Marinofib_table.h: gen-fib.nx 2532290a76eSJohn Marino ${.OBJDIR}/gen-fib.nx header ${LONG_INT_BITS} 0 > ${.TARGET} 2542290a76eSJohn Marino 2552290a76eSJohn Marinompn/fib_table.c: gen-fib.nx 2562290a76eSJohn Marino ${.OBJDIR}/gen-fib.nx table ${LONG_INT_BITS} 0 > ${.TARGET} 2572290a76eSJohn Marino 2582290a76eSJohn Marinomp_bases.h: gen-bases.nx 2592290a76eSJohn Marino ${.OBJDIR}/gen-bases.nx header ${LONG_INT_BITS} 0 > ${.TARGET} 2602290a76eSJohn Marino 2612290a76eSJohn Marinompn/mp_bases.c: gen-bases.nx 2622290a76eSJohn Marino ${.OBJDIR}/gen-bases.nx table ${LONG_INT_BITS} 0 > ${.TARGET} 2632290a76eSJohn Marino 2642290a76eSJohn Marinoperfsqr.h: gen-psqr.nx 2652290a76eSJohn Marino ${.OBJDIR}/gen-psqr.nx ${LONG_INT_BITS} 0 > ${.TARGET} 2662290a76eSJohn Marino 2672290a76eSJohn Marinotrialdivtab.h: gen-trialdivtab.nx 268*c6ecc293SAaron LI ${.OBJDIR}/gen-trialdivtab.nx ${LONG_INT_BITS} 8000 > ${.TARGET} 2692290a76eSJohn Marino 2702290a76eSJohn Marino.for _gen in fac_ui fib bases psqr trialdivtab 2712290a76eSJohn Marinogen-${_gen}.nx: gen-${_gen}.c dumbmp.c 2722290a76eSJohn Marino ${NXCC} ${.ALLSRC:M*/gen-*} -o ${.TARGET} -lm 2732290a76eSJohn MarinoCLEANFILES+= gen-${_gen}.nx 2742290a76eSJohn Marino.endfor 2752290a76eSJohn Marino 2762290a76eSJohn MarinoGENDIRS= mpf mpz mpq mpn mpn/generic printf scanf 2772290a76eSJohn MarinoCLEANDIRS+= ${GENDIRS} 2782290a76eSJohn Marinobeforedepend: mkdirs 2792290a76eSJohn Marinomkdirs: 2802290a76eSJohn Marino mkdir -p ${GENDIRS} 2812290a76eSJohn Marino 2822290a76eSJohn Marino.include <bsd.lib.mk> 283d8170990Szrj.endif 284