* Add the POSIX.1-2001 header file <cpio.h>
[dragonfly.git] / gnu / lib / libmp / Makefile
1 #
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.2 2003/06/17 04:25:44 dillon Exp $
4 #
5
6 LIB=    mp
7
8 GMPDIR= ${.CURDIR}/../../../contrib/libgmp
9
10 .if ${MACHINE_ARCH} == "alpha"
11 .PATH:          ${GMPDIR} ${GMPDIR}/mpn ${GMPDIR}/mpn/alpha ${GMPDIR}/mpn/generic \
12                 ${GMPDIR}/mpbsd
13
14 CFLAGS+=        -I${GMPDIR}/mpn/alpha -I${GMPDIR}/mpz -DBERKELEY_MP
15
16 MPN_SRC_ASM=    add_n.s addmul_1.s lshift.s mul_1.s rshift.s sub_n.s submul_1.s udiv_qrnnd.S
17
18 .elif ${MACHINE_ARCH} == "i386"
19 .PATH:          ${GMPDIR} ${GMPDIR}/mpn ${GMPDIR}/mpn/x86 ${GMPDIR}/mpn/generic \
20                 ${GMPDIR}/mpbsd
21
22 CFLAGS+=        -I${GMPDIR}/mpn/x86 -I${GMPDIR}/mpz -DBERKELEY_MP
23
24 MPN_SRC_ASM=    add_n.S addmul_1.S lshift.S mul_1.S rshift.S sub_n.S submul_1.S
25
26 .elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb"
27 .PATH:          ${GMPDIR} ${GMPDIR}/mpn ${GMPDIR}/mpn/mips3 ${GMPDIR}/mpn/generic \
28                 ${GMPDIR}/mpbsd
29
30 CFLAGS+=        -I${GMPDIR}/mpn/mips3 -I${GMPDIR}/mpz -DBERKELEY_MP
31
32 MPN_SRC_ASM=    add_n.s addmul_1.s lshift.s mul_1.s rshift.s sub_n.s submul_1.s
33 .elif ${MACHINE_ARCH} == "m68k"
34 .PATH:          ${GMPDIR} ${GMPDIR}/mpn ${GMPDIR}/mpn/m68k ${GMPDIR}/mpn/generic \
35                 ${GMPDIR}/mpbsd
36
37 CFLAGS+=        -I${GMPDIR}/mpn/m68k -I${GMPDIR}/mpz -DBERKELEY_MP
38
39 MPN_SRC_ASM=    add_n.S lshift.S rshift.S sub_n.S
40
41 .endif
42
43 CFLAGS+=        -I${GMPDIR} -I${GMPDIR}/mpn/generic
44
45 MPN_SRC_C=      add_n.c addmul_1.c bdivmod.c cmp.c divmod_1.c divrem.c \
46                 divrem_1.c dump.c gcd.c gcd_1.c gcdext.c get_str.c hamdist.c \
47                 inlines.c lshift.c mod_1.c mul.c mul_1.c mul_n.c perfsqr.c \
48                 popcount.c pre_mod_1.c random2.c rshift.c scan0.c scan1.c \
49                 set_str.c sqrtrem.c mp_bases.c
50
51 MPBSD_LINKS=    mpz/add.c mpz/cmp.c mpz/gcd.c mpz/mul.c mpz/pow_ui.c \
52                 mpz/powm.c mpz/sqrtrem.c mpz/sub.c mpz/realloc.c
53 MPBSD_SRCS=     itom.c mdiv.c mfree.c min.c mout.c move.c mtox.c sdiv.c xtom.c \
54                 realloc.c $(MPBSD_LINKS)
55
56 SRCS=           memory.c mp_set_fns.c mp_clz_tab.c version.c stack-alloc.c \
57                 mp_bpl.c extract-double.c insert-double.c \
58                 ${MPN_SRC_ASM} \
59                 asm-syntax.h sysdep.h
60
61 # Look though the generic C source for names that don't have assembly
62 # source version.
63 .for _src in ${MPN_SRC_C}
64 .if (${MPN_SRC_ASM:R:M${_src:R}} == "")
65 SRCS+=$(_src)
66 .endif
67 .endfor
68
69 SRCS+=          ${MPBSD_SRCS}
70
71 beforedepend all: mpz
72
73 .if defined(OBJFORMAT) && ${OBJFORMAT} == elf
74
75 sysdep.h: ${GMPDIR}/mpn/sysv.h
76         cp ${GMPDIR}/mpn/sysv.h sysdep.h
77
78 asm-syntax.h:
79         (echo "#define ELF_SYNTAX" ; \
80                 echo "#include \"syntax.h\"") > asm-syntax.h
81 .else
82
83 sysdep.h: ${GMPDIR}/mpn/bsd.h
84         cp ${GMPDIR}/mpn/bsd.h sysdep.h
85
86 asm-syntax.h:
87         (echo "#define BSD_SYNTAX" ; \
88                 echo "#include \"syntax.h\"") > asm-syntax.h
89
90 CFLAGS+=        -DBROKEN_ALIGN
91
92 .endif
93
94 CLEANFILES+=    sysdep.h asm-syntax.h
95
96 # Grrr. This package contains modules in separate subdirs that have the
97 # same name. Nasty hack to keep them from being found by being in
98 # .PATH:s
99 #
100 mpz:
101         mkdir ${.TARGET}
102
103 CLEANDIRS+=      ${.OBJDIR}/mpz ${.CURDIR}/mpz
104
105 INCS=           mp.h
106
107 .include "../libgmp/Makefile.inc"
108 .include <bsd.lib.mk>