xref: /openbsd/lib/libm/Makefile (revision 190a67d7)
125363975Sderaadt#  $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $
2*190a67d7Smartynas#  $OpenBSD: Makefile,v 1.55 2008/09/09 20:42:55 martynas Exp $
3df930be7Sderaadt#
4df930be7Sderaadt#  @(#)Makefile 5.1beta 93/09/24
5df930be7Sderaadt#
6df930be7Sderaadt#  ====================================================
7df930be7Sderaadt#  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8df930be7Sderaadt#
9df930be7Sderaadt#  Developed at SunPro, a Sun Microsystems, Inc. business.
10df930be7Sderaadt#  Permission to use, copy, modify, and distribute this
11df930be7Sderaadt#  software is freely granted, provided that this notice
12df930be7Sderaadt#  is preserved.
13df930be7Sderaadt#  ====================================================
14df930be7Sderaadt
1562e4a0d6Smillert# For NOPROFILE and NOPIC
1662e4a0d6Smillert.include <bsd.own.mk>
1762e4a0d6Smillert
18f53fee27Sbrad.if (${MACHINE_ARCH} == "sparc")
1940f009e5SderaadtCFLAGS+= -O0
2040f009e5Sderaadt.endif
2140f009e5Sderaadt
2261e28ce4Snaddy.if (${MACHINE_ARCH} == "alpha")
2361e28ce4Snaddy.PATH:	${.CURDIR}/arch/alpha
2461e28ce4SnaddyARCH_SRCS = s_copysign.S s_copysignf.S
2561e28ce4Snaddy.elif (${MACHINE_ARCH} == "i386")
266375aa59Sdownsj.PATH:	${.CURDIR}/arch/i387
276375aa59SdownsjARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
286375aa59Sdownsj	    e_remainder.S e_remainderf.S e_scalb.S e_sqrt.S e_sqrtf.S \
296375aa59Sdownsj	    s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
306375aa59Sdownsj	    s_cos.S s_cosf.S s_finite.S s_finitef.S s_floor.S s_floorf.S \
316375aa59Sdownsj	    s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
32d7c6e841Skettenis	    s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S s_rint.S s_rintf.S\
33d7c6e841Skettenis	    s_scalbn.S s_scalbnf.S s_significand.S s_significandf.S \
34d7c6e841Skettenis	    s_sin.S s_sinf.S s_tan.S s_tanf.S
3577fd8a68Sderaadt.elif (${MACHINE_ARCH} == "amd64")
364ca99c46Sderaadt.PATH:	${.CURDIR}/arch/amd64
374ca99c46SderaadtCPPFLAGS+=-I${.CURDIR}/arch/amd64
3835abca84SkettenisARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
393ccbf660Sderaadt	    e_remainder.S e_remainderf.S e_scalb.S e_sqrt.S e_sqrtf.S \
403ccbf660Sderaadt	    s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
413ccbf660Sderaadt	    s_cos.S s_cosf.S s_finite.S s_finitef.S s_floor.S s_floorf.S \
423ccbf660Sderaadt	    s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
433ccbf660Sderaadt	    s_rint.S s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \
443ccbf660Sderaadt	    s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S
45df930be7Sderaadt.elif (${MACHINE_ARCH} == "m68k")
46df930be7Sderaadt.PATH:	${.CURDIR}/arch/mc68881
47df930be7SderaadtARCH_SRCS = e_acos.S e_asin.S e_atanh.S e_cosh.S e_exp.S e_log.S e_log10.S \
48df930be7Sderaadt	    e_remainder.S e_scalb.S e_sinh.S e_sqrt.S s_atan.S s_ceil.S \
49df930be7Sderaadt	    s_copysign.S s_cos.S s_expm1.S s_finite.S s_floor.S s_log1p.S \
50df930be7Sderaadt	    s_logb.S s_rint.S s_scalbn.S s_sin.S s_tan.S s_tanh.S
51d79c5b16Smickey.elif (${MACHINE_ARCH} == "hppa")
52d79c5b16Smickey.PATH:	${.CURDIR}/arch/hppa
5329c788c4SmickeyARCH_SRCS = e_sqrt.c e_sqrtf.c e_remainder.c e_remainderf.c \
5429c788c4Smickey	    s_ceil.c s_ceilf.c s_floor.c s_floorf.c s_rint.c s_rintf.c
55df930be7Sderaadt.elif (${MACHINE_ARCH} == "vax")
56df930be7Sderaadt.PATH:	${.CURDIR}/arch/vax
57df930be7SderaadtNOIEEE_ARCH=n_infnan.S n_argred.S n_sqrt.S
58df930be7SderaadtARCH_SRCS = n_atan2.S n_cabs.S n_cbrt.S n_sincos.S n_tan.S n_support.S
59df930be7Sderaadt.endif
60df930be7Sderaadt
61df930be7Sderaadt.PATH:	${.CURDIR}/man
62df930be7Sderaadt.PATH:	${.CURDIR}/src
63df930be7Sderaadt.PATH:	${.CURDIR}/noieee_src
64df930be7Sderaadt
65df930be7SderaadtLIB=	m
66e5a6e266SderaadtWANTLINT=
675b14c9c6SmartynasCOMMON_SRCS = b_exp__D.c b_log__D.c b_tgamma.c \
685b14c9c6Smartynas	e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
69df930be7Sderaadt	e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \
7025363975Sderaadt	e_expf.c e_fmod.c e_fmodf.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c \
7125363975Sderaadt	e_j1.c e_j1f.c e_jn.c e_jnf.c e_lgamma_r.c e_lgammaf_r.c e_log.c \
727b36286aSmartynas	e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c e_pow.c e_powf.c \
737b36286aSmartynas	e_rem_pio2.c \
74df930be7Sderaadt	e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c e_scalbf.c \
75df930be7Sderaadt	e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c \
76df930be7Sderaadt	k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \
777b36286aSmartynas	k_tan.c k_tanf.c \
782d2c90e6Smartynas	s_lround.c s_lroundf.c s_llround.c s_llroundf.c \
797b36286aSmartynas	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cabs.c s_cabsf.c s_cacos.c \
807b36286aSmartynas	s_cacosf.c s_cacosh.c s_cacoshf.c s_carg.c s_cargf.c s_casin.c \
817b36286aSmartynas	s_casinf.c s_casinh.c s_casinhf.c s_catan.c s_catanf.c s_catanh.c \
827b36286aSmartynas	s_catanhf.c s_cbrt.c s_cbrtf.c s_conj.c s_conjf.c s_ccos.c s_ccosf.c \
837b36286aSmartynas	s_ccosh.c s_ccoshf.c s_ceil.c \
847b36286aSmartynas	s_ceilf.c s_cexp.c s_cexpf.c s_cimag.c s_cimagf.c s_clog.c s_clogf.c \
857b36286aSmartynas	s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_cpow.c s_cpowf.c \
867b36286aSmartynas	s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_csin.c s_csinf.c s_csinh.c \
877b36286aSmartynas	s_csinhf.c s_csqrt.c s_csqrtf.c s_ctan.c s_ctanf.c s_ctanh.c \
887b36286aSmartynas	s_ctanhf.c s_erf.c s_erff.c s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c \
897b36286aSmartynas	s_fabsf.c s_fdim.c s_fmax.c s_fmaxf.c s_fmin.c s_fminf.c s_finite.c \
907b36286aSmartynas	s_finitef.c \
91df930be7Sderaadt	s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \
927b36286aSmartynas	s_ldexpf.c s_log1p.c \
93d7c6e841Skettenis	s_log1pf.c s_logb.c s_logbf.c s_llrint.c s_llrintf.c s_lrint.c \
947b36286aSmartynas	s_lrintf.c s_modff.c s_nan.c \
95eac90eaaSmartynas	s_nextafter.c s_nextafterf.c s_remquo.c s_remquof.c s_rint.c \
96eac90eaaSmartynas	s_rintf.c s_round.c s_roundf.c \
9765850ae2Sbrad	s_scalbn.c s_scalbnf.c s_signgam.c s_significand.c s_significandf.c \
987b36286aSmartynas	s_sin.c s_sinf.c s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c \
99*190a67d7Smartynas	s_truncf.c w_drem.c w_dremf.c w_gamma.c w_gamma_r.c w_gammaf.c \
100*190a67d7Smartynas	w_gammaf_r.c w_lgamma.c w_lgammaf.c
101df930be7Sderaadt
102df930be7Sderaadt# math routines for non-IEEE architectures.
103df930be7SderaadtNOIEEE_SRCS = n_asincos.c n_acosh.c n_asinh.c n_atan.c n_atanh.c n_cosh.c \
1045b14c9c6Smartynas	n_erf.c n_exp.c n_exp__E.c n_expm1.c n_floor.c n_fmod.c n_tgamma.c \
105df930be7Sderaadt	n_lgamma.c n_j0.c n_j1.c n_jn.c n_log.c n_log10.c n_log1p.c \
106df930be7Sderaadt	n_log__L.c n_pow.c n_sinh.c n_tanh.c n_atan2.c n_cabs.c n_cbrt.c \
1074859de39Smartynas	n_sqrt.c n_sincos.c n_tan.c n_argred.c n_support.c n_infnan.c \
1084859de39Smartynas	n_round.c
109df930be7Sderaadt
110df930be7Sderaadt
1116018b875Smartynas# OpenBSD's C library supplies these functions:
112eac90eaaSmartynas#COMMON_SRCS+=	s_fabs.c s_frexp.c s_isinf.c s_isinff.c s_isnan.c s_isnanf.c \
113eac90eaaSmartynas#		s_ldexp.c s_modf.c
114df930be7Sderaadt
115df930be7Sderaadt.if (${MACHINE_ARCH} == "vax")
116df930be7SderaadtSRCS=	${NOIEEE_SRCS} ${NOIEEE_ARCH}
117afbcd14bSmartynasMAN+=	infnan.3
118df930be7Sderaadt.else
119df930be7SderaadtSRCS=	${COMMON_SRCS}
120df930be7Sderaadt.endif
121df930be7Sderaadt
122df930be7Sderaadt# Substitute common sources with any arch specific sources
123df930be7Sderaadt.for i in ${ARCH_SRCS}
124df930be7Sderaadt    SRCS:=${SRCS:S/${i:S/.S/.c/}/$i/}
125bc42a0d0Stholo    LSRCS+=${i:S/.S/.c/}
126df930be7Sderaadt.endfor
127df930be7Sderaadt
128ac5185c7Smaja.if (${MACHINE_ARCH} == "vax")
129ac5185c7Smaja.for i in ${NOIEEE_ARCH}
130ac5185c7Smaja    SRCS:=${SRCS:S/${i:S/.S/.c/}/$i/}
131ac5185c7Smaja    LSRCS+=${i:S/.S/.c/}
132ac5185c7Smaja.endfor
133ac5185c7Smaja.endif
134ac5185c7Smaja
135df930be7SderaadtMAN+=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
136df930be7Sderaadt	cos.3 cosh.3 erf.3 exp.3 fabs.3 floor.3 fmod.3 hypot.3 ieee.3 \
13784cdeef4Smartynas	logb.3 j0.3 lgamma.3 lrint.3 lround.3 math.3 nan.3 remainder.3 \
13884cdeef4Smartynas	rint.3 round.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3
139df930be7Sderaadt
140d7335082SderaadtMLINKS+=erf.3 erfc.3
141fb2d3daaSmartynasMLINKS+=exp.3 exp2.3 exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 \
142fb2d3daaSmartynas	exp.3 pow.3
143d7335082SderaadtMLINKS+=hypot.3 cabs.3
14484cdeef4SmartynasMLINKS+=ieee.3 copysign.3 ieee.3 ilogb.3 ieee.3 nextafter.3 ieee.3 scalbn.3
1450f9b7468SjasonMLINKS+=logb.3 scalb.3
1460f9b7468SjasonMLINKS+=logb.3 significand.3
147d7335082SderaadtMLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 yn.3
148034beed2SjmcMLINKS+=lgamma.3 gamma.3 lgamma.3 tgamma.3
149034beed2SjmcMLINKS+=lrint.3 llrint.3
150034beed2SjmcMLINKS+=lround.3 llround.3
15184cdeef4SmartynasMLINKS+=remainder.3 drem.3 remainder.3 remquo.3
152d7335082SderaadtMLINKS+=sqrt.3 cbrt.3
153d7335082Sderaadt
1548a2f5500Sderaadt# float versions
1558a2f5500SderaadtMLINKS+=acos.3 acosf.3
1568a2f5500SderaadtMLINKS+=acosh.3 acoshf.3
1578a2f5500SderaadtMLINKS+=asin.3 asinf.3
1588a2f5500SderaadtMLINKS+=asinh.3 asinhf.3
1598a2f5500SderaadtMLINKS+=atan.3 atanf.3
1608a2f5500SderaadtMLINKS+=atan2.3 atan2f.3
1618a2f5500SderaadtMLINKS+=atanh.3 atanhf.3
1628a2f5500SderaadtMLINKS+=ceil.3 ceilf.3
1638a2f5500SderaadtMLINKS+=cos.3 cosf.3
1648a2f5500SderaadtMLINKS+=cosh.3 coshf.3
1658a2f5500SderaadtMLINKS+=erf.3 erfcf.3
1668a2f5500SderaadtMLINKS+=erf.3 erff.3
1678a2f5500SderaadtMLINKS+=exp.3 expf.3
168fb2d3daaSmartynasMLINKS+=exp.3 exp2f.3
1698a2f5500SderaadtMLINKS+=exp.3 expm1f.3
1708a2f5500SderaadtMLINKS+=exp.3 log10f.3
1718a2f5500SderaadtMLINKS+=exp.3 log1pf.3
1728a2f5500SderaadtMLINKS+=exp.3 logf.3
1738a2f5500SderaadtMLINKS+=exp.3 powf.3
1748a2f5500SderaadtMLINKS+=fabs.3 fabsf.3
1758a2f5500SderaadtMLINKS+=floor.3 floorf.3
1768a2f5500SderaadtMLINKS+=fmod.3 fmodf.3
1778a2f5500SderaadtMLINKS+=hypot.3 cabsf.3
1788a2f5500SderaadtMLINKS+=hypot.3 hypotf.3
1798a2f5500SderaadtMLINKS+=ieee.3 copysignf.3
1808a2f5500SderaadtMLINKS+=ieee.3 ieeef.3
1818a2f5500SderaadtMLINKS+=ieee.3 ilogbf.3
1828a2f5500SderaadtMLINKS+=ieee.3 nextafterf.3
1838a2f5500SderaadtMLINKS+=ieee.3 scalbnf.3
1848a2f5500SderaadtMLINKS+=j0.3 j0f.3
1858a2f5500SderaadtMLINKS+=j0.3 j1f.3
1868a2f5500SderaadtMLINKS+=j0.3 jnf.3
1878a2f5500SderaadtMLINKS+=j0.3 y0f.3
1888a2f5500SderaadtMLINKS+=j0.3 y1f.3
1898a2f5500SderaadtMLINKS+=j0.3 ynf.3
1908a2f5500SderaadtMLINKS+=lgamma.3 gammaf.3
1918a2f5500SderaadtMLINKS+=lgamma.3 lgammaf.3
192034beed2SjmcMLINKS+=lgamma.3 tgammaf.3
193034beed2SjmcMLINKS+=logb.3 logbf.3
194034beed2SjmcMLINKS+=logb.3 scalbf.3
195034beed2SjmcMLINKS+=logb.3 significandf.3
196a242fdc4SottoMLINKS+=lrint.3 lrintf.3
197a242fdc4SottoMLINKS+=lrint.3 llrintf.3
198a242fdc4SottoMLINKS+=lround.3 lroundf.3
199a242fdc4SottoMLINKS+=lround.3 llroundf.3
2008a2f5500SderaadtMLINKS+=math.3 mathf.3
20184cdeef4SmartynasMLINKS+=nan.3 nanf.3
20284cdeef4SmartynasMLINKS+=remainder.3 dremf.3
20384cdeef4SmartynasMLINKS+=remainder.3 remainderf.3
204d309d4cfSjmcMLINKS+=remainder.3 remquof.3
2058a2f5500SderaadtMLINKS+=rint.3 rintf.3
20665850ae2SbradMLINKS+=round.3 roundf.3
2078a2f5500SderaadtMLINKS+=sin.3 sinf.3
2088a2f5500SderaadtMLINKS+=sinh.3 sinhf.3
2098a2f5500SderaadtMLINKS+=sqrt.3 cbrtf.3
2108a2f5500SderaadtMLINKS+=sqrt.3 sqrtf.3
2118a2f5500SderaadtMLINKS+=tan.3 tanf.3
2128a2f5500SderaadtMLINKS+=tanh.3 tanhf.3
21355dfb921SbradMLINKS+=trunc.3 truncf.3
2148a2f5500Sderaadt
215efb3006bSderaadt#.if (${MACHINE_ARCH} == "i386")
216efb3006bSderaadt#LINKS=	${LIBDIR}/libm.a ${LIBDIR}/libm_i387.a
217efb3006bSderaadt#.if !defined(NOPROFILE)
218efb3006bSderaadt#LINKS+=	${LIBDIR}/libm_p.a ${LIBDIR}/libm_i387_p.a
219efb3006bSderaadt#.endif
220efb3006bSderaadt#.if !defined(NOPIC)
221efb3006bSderaadt#LINKS+= ${LIBDIR}/libm.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
222efb3006bSderaadt#	${LIBDIR}/libm_i387.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
223efb3006bSderaadt#LINKS+= ${LIBDIR}/libm_pic.a ${LIBDIR}/libm_i387_pic.a
224efb3006bSderaadt#.endif
225efb3006bSderaadt#.endif
2266375aa59Sdownsj
2278c45af38Sespie#e_acos.o:
2287b36286aSmartynas#	cpp \
2298c45af38Sespie#	/usr/src/lib/libm/arch/mc68881/e_acos.S |  as -o e_acos.o
2308c45af38Sespie
2318c45af38Sespie
2322baabcf6Sderaadt.include <bsd.lib.mk>
233