2 # $FreeBSD: src/gnu/lib/libmp/Makefile,v 1.18.2.1 2002/07/22 14:21:44 ru Exp $
3 # $DragonFly: src/gnu/lib/libmp/Attic/Makefile,v 1.3 2004/02/02 05:43:10 dillon Exp $
8 GMPDIR= ${.CURDIR}/../../../contrib/libgmp
10 .if ${MACHINE_ARCH} == "i386"
12 MPN_SRC_ASM= add_n.S addmul_1.S lshift.S mul_1.S rshift.S sub_n.S submul_1.S
14 MPNNAME=${MACHINE_ARCH}
18 .PATH: ${GMPDIR} ${GMPDIR}/mpn ${GMPDIR}/mpn/${MPNNAME} \
19 ${GMPDIR}/mpn/generic ${GMPDIR}/mpbsd
21 CFLAGS+= -I${GMPDIR}/mpn/${MPNNAME} -I${GMPDIR}/mpz -DBERKELEY_MP
22 CFLAGS+= -I${GMPDIR} -I${GMPDIR}/mpn/generic
24 MPN_SRC_C= add_n.c addmul_1.c bdivmod.c cmp.c divmod_1.c divrem.c \
25 divrem_1.c dump.c gcd.c gcd_1.c gcdext.c get_str.c hamdist.c \
26 inlines.c lshift.c mod_1.c mul.c mul_1.c mul_n.c perfsqr.c \
27 popcount.c pre_mod_1.c random2.c rshift.c scan0.c scan1.c \
28 set_str.c sqrtrem.c mp_bases.c
30 MPBSD_LINKS= mpz/add.c mpz/cmp.c mpz/gcd.c mpz/mul.c mpz/pow_ui.c \
31 mpz/powm.c mpz/sqrtrem.c mpz/sub.c mpz/realloc.c
32 MPBSD_SRCS= itom.c mdiv.c mfree.c min.c mout.c move.c mtox.c sdiv.c xtom.c \
33 realloc.c $(MPBSD_LINKS)
35 SRCS= memory.c mp_set_fns.c mp_clz_tab.c version.c stack-alloc.c \
36 mp_bpl.c extract-double.c insert-double.c \
40 # Look though the generic C source for names that don't have assembly
42 .for _src in ${MPN_SRC_C}
43 .if (${MPN_SRC_ASM:R:M${_src:R}} == "")
52 .if defined(OBJFORMAT) && ${OBJFORMAT} == elf
54 sysdep.h: ${GMPDIR}/mpn/sysv.h
55 cp ${GMPDIR}/mpn/sysv.h sysdep.h
58 (echo "#define ELF_SYNTAX" ; \
59 echo "#include \"syntax.h\"") > asm-syntax.h
62 sysdep.h: ${GMPDIR}/mpn/bsd.h
63 cp ${GMPDIR}/mpn/bsd.h sysdep.h
66 (echo "#define BSD_SYNTAX" ; \
67 echo "#include \"syntax.h\"") > asm-syntax.h
69 CFLAGS+= -DBROKEN_ALIGN
73 CLEANFILES+= sysdep.h asm-syntax.h
75 # Grrr. This package contains modules in separate subdirs that have the
76 # same name. Nasty hack to keep them from being found by being in
82 CLEANDIRS+= ${.OBJDIR}/mpz ${.CURDIR}/mpz
86 .include "../libgmp/Makefile.inc"