include ${MAKETOP}/Makefile-common
#
# ieee		- for most IEEE machines, we hope.
# mc68881	- the, ahem, mc68881.
# national	- for those ieee machines whose floating point implementation
#		  has similar byte ordering as the NATIONAL 32016 with 32081.
# i386		- i387 NPX, currently the same as "national"
# tahoe		- for the tahoe double format.
# vax		- for the vax D_floating format

# Missing: erf.c, j0.c, j1.c, jn.c, lgamma.c

LIBRARY = libm.a
#CFLAGS+=-Icommon_source

IEEE_HARDWARE=ieee
IEEE_VPATH = common_source:common:ieee
# common_source
IEEE_SRCS1 =	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c exp.c \
	exp__E.c expm1.c floor.c fmod.c log.c \
	log10.c log1p.c log__L.c pow.c sinh.c tanh.c
# common
IEEE_SRCS2 =	atan2.c sincos.c tan.c
# ieee
IEEE_SRCS3 =	cabs.c cbrt.c support.c

IEEE_SRCS = ${IEEE_SRCS1} ${IEEE_SRCS2} ${IEEE_SRCS3}

HP300_HARDWARE=mc68881
HP300_VPATH = mc68881:common_source:ieee
# common_source
HP300_SRCS1 =	acosh.c asinh.c exp__E.c fmod.c log__L.c \
	pow.c
# mc68881
HP300_SRCS2 =	asincos.s atan.s atan2.c atanh.s cosh.s exp.s expm1.s floor.s \
	log.s log10.s log1p.s sincos.s sinh.s sqrt.s support.s tan.s tanh.s
# ieee
HP300_SRCS3 =	cabs.c cbrt.c

HP300_SRCS = ${HP300_SRCS1} ${HP300_SRCS2} ${HP300_SRCS3}

I386_HARDWARE=i387
I386_VPATH = common_source:common:ieee
I386_CFLAGS = -Dnational
# common_source
I386_SRCS1 =	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c exp.c \
	exp__E.c expm1.c floor.c fmod.c log.c \
	log10.c log1p.c log__L.c pow.c sinh.c tanh.c
# common
I386_SRCS2 =	atan2.c sincos.c tan.c
# ieee
I386_SRCS3 =	cabs.c cbrt.c support.c

I386_SRCS = ${I386_SRCS1} ${I386_SRCS2} ${I386_SRCS3}

NATIONAL_HARDWARE=national
NATIONAL_VPATH = common_source:common:national:ieee
# common_source
NATIONAL_SRCS1 = acosh.c asincos.c asinh.c atan.c atanh.c cosh.c exp.c \
	exp__E.c expm1.c floor.c fmod.c log.c \
	log10.c log1p.c log__L.c pow.c sinh.c tanh.c
# common
NATIONAL_SRCS2 = atan2.c sincos.c tan.c
# national
NATIONAL_SRCS3 = sqrt.s support.s
# ieee
NATIONAL_SRCS4 = cabs.c cbrt.c

NATIONAL_SRCS = ${NATIONAL_SRCS1} ${NATIONAL_SRCS2} ${NATIONAL_SRCS3} \
	${NATIONAL_SRCS4}

TAHOE_HARDWARE=tahoe
TAHOE_VPATH = common_source:common:tahoe
# common_source
TAHOE_SRCS1 =	acosh.c asincos.c asinh.c atan.c atanh.c cosh.c exp.c \
	exp__E.c expm1.c floor.c fmod.c log.c \
	log10.c log1p.c log__L.c pow.c sinh.c tanh.c
# common
TAHOE_SRCS2 =	atan2.c sincos.c tan.c
# tahoe
TAHOE_SRCS3 =	cabs.s cbrt.s sqrt.s support.s infnan.s

TAHOE_SRCS = ${TAHOE_SRCS1} ${TAHOE_SRCS2} ${TAHOE_SRCS3}

VAX_HARDWARE=vax
VAX_VPATH = common_source:vax
# common_source
VAX_SRCS1 = acosh.c asincos.c asinh.c atan.c atanh.c cosh.c exp.c \
	exp__E.c expm1.c floor.c fmod.c log.c \
	log10.c log1p.c log__L.c pow.c sinh.c tanh.c
# vax
VAX_SRCS2 = atan2.s cabs.s cbrt.s sqrt.s sincos.s tan.s argred.s support.s \
	infnan.s

VAX_SRCS = ${VAX_SRCS1} ${VAX_SRCS2}

PMAX_HARDWARE=mips
PMAX_VPATH = common_source:mips:ieee
# common_source
PMAX_SRCS1 =

PMAX_SRCS = ${PMAX_SRCS1} ${PMAX_SRCS2}

MAN3PAGES =	acos.0 acosh.0 asin.0 asinh.0 atan.0 atan2.0 atanh.0 ceil.0 \
	cos.0 cosh.0 erf.0 exp.0 fabs.0 floor.0 fmod.0 hypot.0 ieee.0 \
	infnan.0 j0.0 lgamma.0 math.0 rint.0 sin.0 sinh.0 sqrt.0 \
	tan.0 tanh.0

#MLINKS+=erf.3 erfc.3
#MLINKS+=exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3
#MLINKS+=hypot.3 cabs.3
#MLINKS+=ieee.3 copysign.3 ieee.3 drem.3 ieee.3 finite.3 ieee.3 logb.3 \
#	ieee.3 scalb.3
#MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 yn.3
#MLINKS+=lgamma.3 gamma.3

PC532_SRCS = ${NATIONAL_SRCS}
PC532_VPATH = ${NATIONAL_VPATH}

OBJECTS = ${${TARGET_MACHINE}_SRCS/\.[^.]*/.o/}
VPATH = ${${TARGET_MACHINE}_VPATH}

include ${MAKETOP}/Makefile-lib

#.s.o:
#	${AS} -o ${.TARGET} ${.IMPSRC}
#	@${LD} -x -r ${.TARGET}
#	@mv a.out ${.TARGET}

.s.po:
	sed -f ${HARDWARE}/mcount.sed $< | \
	    ${AS} -o $@
	ld -X -r ${.TARGET}
	mv a.out ${.TARGET}
-include Makedep
