1995-05-30 05:51:47 +00:00
|
|
|
# @(#)Makefile 5.1beta 93/09/24
|
1999-08-28 00:22:10 +00:00
|
|
|
# $FreeBSD$
|
1995-05-30 05:51:47 +00:00
|
|
|
#
|
1994-08-19 09:40:01 +00:00
|
|
|
# ====================================================
|
|
|
|
# Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
1995-05-30 05:51:47 +00:00
|
|
|
#
|
1994-08-19 09:40:01 +00:00
|
|
|
# Developed at SunPro, a Sun Microsystems, Inc. business.
|
|
|
|
# Permission to use, copy, modify, and distribute this
|
1995-05-30 05:51:47 +00:00
|
|
|
# software is freely granted, provided that this notice
|
1994-08-19 09:40:01 +00:00
|
|
|
# is preserved.
|
|
|
|
# ====================================================
|
1995-05-30 05:51:47 +00:00
|
|
|
#
|
|
|
|
#
|
1994-08-19 09:40:01 +00:00
|
|
|
|
2005-02-04 14:33:39 +00:00
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
2004-06-24 00:02:32 +00:00
|
|
|
ARCH_SUBDIR= i387
|
2005-02-04 14:33:39 +00:00
|
|
|
.else
|
|
|
|
ARCH_SUBDIR= ${MACHINE_ARCH}
|
2003-07-23 09:24:44 +00:00
|
|
|
.endif
|
2003-07-23 04:23:36 +00:00
|
|
|
|
2005-02-04 14:33:39 +00:00
|
|
|
.include "${ARCH_SUBDIR}/Makefile.inc"
|
2004-06-06 10:06:57 +00:00
|
|
|
|
2002-03-26 11:59:29 +00:00
|
|
|
.PATH: ${.CURDIR}/bsdsrc
|
1994-08-19 09:40:01 +00:00
|
|
|
.PATH: ${.CURDIR}/man
|
|
|
|
.PATH: ${.CURDIR}/src
|
|
|
|
|
|
|
|
LIB= m
|
2003-08-17 08:28:46 +00:00
|
|
|
SHLIBDIR?= /lib
|
2004-10-01 15:38:07 +00:00
|
|
|
SHLIB_MAJOR= 3
|
2002-03-26 11:59:29 +00:00
|
|
|
COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
|
|
|
|
e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
|
1994-08-19 09:40:01 +00:00
|
|
|
e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \
|
|
|
|
e_expf.c e_fmod.c e_fmodf.c e_gamma.c e_gamma_r.c e_gammaf.c \
|
|
|
|
e_gammaf_r.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c e_j1.c e_j1f.c \
|
|
|
|
e_jn.c e_jnf.c e_lgamma.c e_lgamma_r.c e_lgammaf.c e_lgammaf_r.c \
|
|
|
|
e_log.c e_log10.c e_log10f.c e_logf.c e_pow.c e_powf.c e_rem_pio2.c \
|
|
|
|
e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c e_scalbf.c \
|
2004-06-06 10:06:57 +00:00
|
|
|
e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c fenv.c \
|
1994-08-19 09:40:01 +00:00
|
|
|
k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \
|
2005-02-04 14:08:32 +00:00
|
|
|
k_tan.c k_tanf.c \
|
2005-01-13 09:11:41 +00:00
|
|
|
s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c \
|
|
|
|
s_ceil.c s_ceilf.c s_ceill.c \
|
|
|
|
s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_erf.c s_erff.c \
|
2004-06-30 07:04:01 +00:00
|
|
|
s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c s_finite.c s_finitef.c \
|
2005-01-22 09:53:18 +00:00
|
|
|
s_floor.c s_floorf.c s_floorl.c s_fma.c s_fmaf.c \
|
|
|
|
s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
|
2004-06-30 07:04:01 +00:00
|
|
|
s_fminf.c s_fminl.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \
|
2005-02-04 14:08:32 +00:00
|
|
|
s_llrint.c s_llrintf.c s_llround.c s_llroundf.c \
|
2005-01-11 23:12:55 +00:00
|
|
|
s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \
|
2005-02-04 14:08:32 +00:00
|
|
|
s_lround.c s_lroundf.c s_modff.c \
|
2004-07-06 04:46:08 +00:00
|
|
|
s_nearbyint.c s_nextafter.c s_nextafterf.c \
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
s_nexttowardf.c s_rint.c s_rintf.c s_round.c s_roundf.c \
|
2004-07-19 08:16:10 +00:00
|
|
|
s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \
|
1994-08-19 09:40:01 +00:00
|
|
|
s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c s_tan.c \
|
2004-06-20 09:27:03 +00:00
|
|
|
s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \
|
2005-02-04 14:08:32 +00:00
|
|
|
w_cabs.c w_cabsf.c w_drem.c w_dremf.c
|
1994-08-19 09:40:01 +00:00
|
|
|
|
2003-10-25 09:32:18 +00:00
|
|
|
# Location of fpmath.h and _fpmath.h
|
|
|
|
LIBCDIR= ${.CURDIR}/../libc
|
|
|
|
CFLAGS+= -I${LIBCDIR}/include -I${LIBCDIR}/${MACHINE_ARCH}
|
|
|
|
|
|
|
|
# C99 long double functions
|
2004-05-07 18:56:31 +00:00
|
|
|
COMMON_SRCS+= s_copysignl.c s_fabsl.c
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
.if ${LDBL_PREC} != 53
|
|
|
|
# If long double != double use these; otherwise, we alias the double versions.
|
|
|
|
COMMON_SRCS+= s_fmal.c s_frexpl.c s_nextafterl.c s_nexttoward.c s_scalbnl.c
|
|
|
|
.endif
|
2003-10-25 09:32:18 +00:00
|
|
|
|
2004-05-30 09:21:56 +00:00
|
|
|
# C99 complex functions
|
|
|
|
COMMON_SRCS+= s_cimag.c s_cimagf.c s_cimagl.c s_conj.c s_conjf.c s_conjl.c \
|
|
|
|
s_creal.c s_crealf.c s_creall.c
|
|
|
|
|
1994-08-19 09:40:01 +00:00
|
|
|
# FreeBSD's C library supplies these functions:
|
|
|
|
#COMMON_SRCS+= s_fabs.c s_frexp.c s_isnan.c s_ldexp.c s_modf.c
|
|
|
|
|
2003-07-23 04:53:47 +00:00
|
|
|
# Exclude the generic versions of what we provide in the MD area.
|
2004-06-24 00:02:32 +00:00
|
|
|
.PATH: ${.CURDIR}/${ARCH_SUBDIR}
|
2004-06-06 10:06:57 +00:00
|
|
|
.if defined(ARCH_SRCS)
|
1995-03-08 01:41:40 +00:00
|
|
|
.for i in ${ARCH_SRCS}
|
2003-07-23 04:53:47 +00:00
|
|
|
COMMON_SRCS:= ${COMMON_SRCS:N${i:R}.c}
|
1995-03-08 01:41:40 +00:00
|
|
|
.endfor
|
2003-07-23 04:53:47 +00:00
|
|
|
.endif
|
|
|
|
|
|
|
|
SRCS= ${COMMON_SRCS} ${ARCH_SRCS}
|
1994-08-19 09:40:01 +00:00
|
|
|
|
2004-06-06 10:06:57 +00:00
|
|
|
INCS= fenv.h math.h
|
2002-05-12 16:01:00 +00:00
|
|
|
|
2001-03-27 17:27:19 +00:00
|
|
|
MAN= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
|
2005-01-27 05:46:17 +00:00
|
|
|
cimag.3 copysign.3 cos.3 cosh.3 erf.3 exp.3 fabs.3 fdim.3 \
|
2005-03-16 19:04:28 +00:00
|
|
|
feclearexcept.3 feenableexcept.3 fegetenv.3 \
|
|
|
|
fegetround.3 fenv.3 floor.3 \
|
2005-01-27 05:46:17 +00:00
|
|
|
fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \
|
|
|
|
lgamma.3 lrint.3 lround.3 math.3 nextafter.3 remainder.3 rint.3 \
|
|
|
|
round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3
|
1994-08-19 09:40:01 +00:00
|
|
|
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=acos.3 acosf.3
|
|
|
|
MLINKS+=acosh.3 acoshf.3
|
|
|
|
MLINKS+=asin.3 asinf.3
|
|
|
|
MLINKS+=asinh.3 asinhf.3
|
|
|
|
MLINKS+=atan.3 atanf.3
|
|
|
|
MLINKS+=atanh.3 atanhf.3
|
|
|
|
MLINKS+=atan2.3 atan2f.3
|
2005-01-13 09:11:41 +00:00
|
|
|
MLINKS+=ceil.3 ceilf.3 ceil.3 ceill.3
|
2004-08-07 23:03:36 +00:00
|
|
|
MLINKS+=cimag.3 cimagf.3 cimag.3 cimagl.3 \
|
|
|
|
cimag.3 conj.3 cimag.3 conjf.3 cimag.3 conjl.3 \
|
|
|
|
cimag.3 creal.3 cimag.3 crealf.3 cimag.3 creall.3
|
2005-01-27 05:46:17 +00:00
|
|
|
MLINKS+=copysign.3 copysignf.3 copysign.3 copysignl.3
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=cos.3 cosf.3
|
|
|
|
MLINKS+=cosh.3 coshf.3
|
|
|
|
MLINKS+=erf.3 erfc.3 erf.3 erff.3 erf.3 erfcf.3
|
|
|
|
MLINKS+=exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3 \
|
2005-02-26 08:54:45 +00:00
|
|
|
exp.3 expf.3 \
|
2001-10-03 06:30:11 +00:00
|
|
|
exp.3 expm1f.3 exp.3 logf.3 exp.3 powf.3 \
|
1996-02-09 00:45:45 +00:00
|
|
|
exp.3 log10f.3 exp.3 log1pf.3
|
2004-05-07 17:55:07 +00:00
|
|
|
MLINKS+=fabs.3 fabsf.3 fabs.3 fabsl.3
|
2004-06-30 07:04:01 +00:00
|
|
|
MLINKS+=fdim.3 fdimf.3 fdim.3 fdiml.3
|
2004-06-06 10:06:57 +00:00
|
|
|
MLINKS+=feclearexcept.3 fegetexceptflag.3 feclearexcept.3 feraiseexcept.3 \
|
|
|
|
feclearexcept.3 fesetexceptflag.3 feclearexcept.3 fetestexcept.3
|
2005-03-16 19:04:28 +00:00
|
|
|
MLINKS+=feenableexcept.3 fedisableexcept.3 feenableexcept.3 fegetexcept.3
|
2004-06-06 10:06:57 +00:00
|
|
|
MLINKS+=fegetenv.3 feholdexcept.3 fegetenv.3 fesetenv.3 \
|
|
|
|
fegetenv.3 feupdateenv.3
|
|
|
|
MLINKS+=fegetround.3 fesetround.3
|
2005-01-12 22:16:26 +00:00
|
|
|
MLINKS+=floor.3 floorf.3 floor.3 floorl.3
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
MLINKS+=fma.3 fmaf.3 fma.3 fmal.3
|
2004-06-30 07:04:01 +00:00
|
|
|
MLINKS+=fmax.3 fmaxf.3 fmax.3 fmaxl.3 \
|
|
|
|
fmax.3 fmin.3 fmax.3 fminf.3 fmax.3 fminl.3
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=fmod.3 fmodf.3
|
|
|
|
MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 hypotf.3
|
|
|
|
MLINKS+=ieee_test.3 logb.3 ieee_test.3 logbf.3
|
|
|
|
MLINKS+=ieee_test.3 scalb.3 ieee_test.3 scalbf.3
|
|
|
|
MLINKS+=ieee_test.3 significand.3 ieee_test.3 significandf.3
|
2005-01-27 05:46:17 +00:00
|
|
|
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 y1f.3 j0.3 yn.3
|
|
|
|
MLINKS+=j0.3 j0f.3 j0.3 j1f.3 j0.3 jnf.3 j0.3 y0f.3 j0.3 ynf.3
|
2002-03-26 11:59:29 +00:00
|
|
|
MLINKS+=lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 lgammaf.3 lgamma.3 tgamma.3
|
2005-01-11 23:12:55 +00:00
|
|
|
MLINKS+=lrint.3 llrint.3 lrint.3 llrintf.3 lrint.3 lrintf.3
|
|
|
|
MLINKS+=lround.3 llround.3 lround.3 llroundf.3 lround.3 lroundf.3
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
MLINKS+=nextafter.3 nextafterf.3 nextafter.3 nextafterl.3
|
|
|
|
MLINKS+=nextafter.3 nexttoward.3 nextafter.3 nexttowardf.3
|
|
|
|
MLINKS+=nextafter.3 nexttowardl.3
|
2005-01-27 05:46:17 +00:00
|
|
|
MLINKS+=remainder.3 remainderf.3
|
2004-07-06 04:46:08 +00:00
|
|
|
MLINKS+=rint.3 rintf.3 rint.3 nearbyint.3 rint.3 nearbyintf.3
|
2004-06-07 08:05:36 +00:00
|
|
|
MLINKS+=round.3 roundf.3
|
- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl. On all platforms,
nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary. In particular:
ldbl53 ldbl64/113
fmal s_fma.c s_fmal.c
ldexpl s_scalbn.c s_scalbnl.c
nextafterl s_nextafter.c s_nextafterl.c
nexttoward s_nextafter.c s_nexttoward.c
nexttowardf s_nexttowardf.c s_nexttowardf.c
nexttowardl s_nextafter.c s_nextafterl.c
scalbnl s_scalbn.c s_scalbnl.c
2005-03-07 04:59:11 +00:00
|
|
|
MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalblnl.3
|
|
|
|
MLINKS+=scalbn.3 scalbnf.3 scalbn.3 scalbnl.3
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=sin.3 sinf.3
|
1996-02-09 00:48:52 +00:00
|
|
|
MLINKS+=sinh.3 sinhf.3
|
1996-02-09 00:45:45 +00:00
|
|
|
MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3
|
|
|
|
MLINKS+=tan.3 tanf.3
|
|
|
|
MLINKS+=tanh.3 tanhf.3
|
2004-06-20 09:27:03 +00:00
|
|
|
MLINKS+=trunc.3 truncf.3
|
1994-08-19 09:40:01 +00:00
|
|
|
|
|
|
|
.include <bsd.lib.mk>
|