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