Makefile revision 1.9
1#	from: @(#)Makefile	5.11 (Berkeley) 12/2/92
2#	$Id: Makefile,v 1.9 1993/12/05 01:10:14 cgd Exp $
3#
4# ieee		- for most IEEE machines, we hope.
5# mc68881	- the, ahem, mc68881.
6# national	- NATIONAL 32016 with 32081.
7# i386		- i387 NPX
8# mips		- for MIPS achitecture machines (and also pmax)
9# tahoe		- for the tahoe double format.
10# vax		- for the vax D_floating format
11
12LIB=	m
13CFLAGS+=-I${.CURDIR}/common_source
14NOPIC=	nopic
15
16.if (${MACHINE_ARCH} == "ieee")
17
18HARDWARE=${MACHINE_ARCH}
19.PATH:	${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/ieee
20# common_source
21SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
22	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
23	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
24# common
25SRCS+=	atan2.c sincos.c tan.c
26# ieee
27SRCS+=	cabs.c cbrt.c support.c
28
29.elif (${MACHINE_ARCH} == "m68k")
30
31HARDWARE=mc68881
32.PATH:	${.CURDIR}/mc68881 ${.CURDIR}/common_source ${.CURDIR}/ieee
33# common_source
34SRCS+=	acosh.c asinh.c erf.c exp__D.c exp__E.c fmod.c gamma.c lgamma.c j0.c \
35	j1.c log__D.c log__L.c logtab.c pow.c
36# mc68881
37SRCS+=	asincos.s atan.s atan2.c atanh.s cosh.s exp.s expm1.s floor.s \
38	log.s log10.s log1p.s sincos.s sinh.s sqrt.s support.s tan.s tanh.s
39# ieee
40SRCS+=	cabs.c cbrt.c
41
42.elif (${MACHINE_ARCH} == "i386")
43
44HARDWARE=i387
45.PATH:	${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/ieee
46# common_source
47SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
48	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
49	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
50# common
51SRCS+=	atan2.c sincos.c tan.c
52# ieee
53SRCS+=	cabs.c cbrt.c support.c
54
55.elif (${MACHINE_ARCH} == "mips" || ${MACHINE_ARCH} == "pmax")
56
57HARDWARE=${MACHINE_ARCH}
58.PATH:	${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/ieee
59# common_source
60SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
61	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
62	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
63# common
64SRCS+=	atan2.c sincos.c tan.c
65# ieee
66SRCS+=	cabs.c cbrt.c support.c
67
68.elif (${MACHINE_ARCH} == "national" || ${MACHINE_ARCH} == "ns32k")
69HARDWARE=national
70.PATH:	${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/national \
71	${.CURDIR}/ieee
72# common_source
73SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
74	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
75	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
76# common
77SRCS+=	atan2.c sincos.c tan.c
78# national
79SRCS+=	sqrt.s support.s
80# ieee
81SRCS+=	cabs.c cbrt.c
82
83.elif (${MACHINE_ARCH} == "sparc")
84
85HARDWARE=${MACHINE_ARCH}
86.PATH:  ${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/ieee
87# common_source
88SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
89	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
90	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
91# XXX should do sqrt & support functions in assembly
92# common
93SRCS+=	atan2.c sincos.c tan.c
94# ieee
95SRCS+=	cabs.c cbrt.c support.c
96
97.elif (${MACHINE_ARCH} == "tahoe")
98
99HARDWARE=${MACHINE_ARCH}
100.PATH:	${.CURDIR}/common_source ${.CURDIR}/common ${.CURDIR}/tahoe \
101# common_source
102SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
103	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
104	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
105# common
106SRCS+=	atan2.c sincos.c tan.c
107# tahoe
108SRCS+=	cabs.s cbrt.s sqrt.s support.s infnan.s
109
110.elif (${MACHINE_ARCH} == "vax")
111
112HARDWARE=${MACHINE_ARCH}
113.PATH:	${.CURDIR}/common_source ${.CURDIR}/vax
114# common_source
115SRCS+=	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c erf.c exp.c exp__D.c \
116	exp__E.c expm1.c floor.c fmod.c gamma.c lgamma.c j0.c j1.c jn.c log.c \
117	log10.c log1p.c log__D.c log__L.c logtab.c pow.c sinh.c tanh.c
118# vax
119SRCS+=	atan2.s cabs.s cbrt.s sqrt.s sincos.s tan.s argred.s support.s \
120	infnan.s
121
122.endif
123
124MAN3+=	acos.0 acosh.0 asin.0 asinh.0 atan.0 atan2.0 atanh.0 ceil.0 \
125	cos.0 cosh.0 erf.0 exp.0 fabs.0 floor.0 fmod.0 hypot.0 ieee.0 \
126	infnan.0 j0.0 lgamma.0 math.0 rint.0 sin.0 sinh.0 sqrt.0 \
127	tan.0 tanh.0
128
129MLINKS+=erf.3 erfc.3
130MLINKS+=exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3
131MLINKS+=hypot.3 cabs.3
132MLINKS+=ieee.3 copysign.3 ieee.3 drem.3 ieee.3 finite.3 ieee.3 logb.3 \
133	ieee.3 scalb.3
134MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 yn.3
135MLINKS+=lgamma.3 gamma.3
136MLINKS+=sqrt.3 cbrt.3
137
138# can't use the standard mkdep, because there are some .s files that
139# are using '#' as a comment indicator and cpp thinks it's an undefined
140# control.
141
142depend: .depend
143.depend: ${SRCS}
144	mkdep ${CFLAGS:M-[ID]*} ${.ALLSRC:M*.c}
145
146.include <bsd.lib.mk>
147
148.s.o:
149	${AS} -o ${.TARGET} ${.IMPSRC}
150	@${LD} -x -r ${.TARGET}
151	@mv a.out ${.TARGET}
152
153.s.po:
154	sed -f ${.CURDIR}/${HARDWARE}/mcount.sed ${.IMPSRC} | \
155	    ${AS} -o ${.TARGET}
156	@${LD} -X -r ${.TARGET}
157	@mv a.out ${.TARGET}
158