| @@ -1,295 +1,296 @@ | | | @@ -1,295 +1,296 @@ |
1 | # $NetBSD: Makefile,v 1.112 2011/07/26 16:10:16 joerg Exp $ | | 1 | # $NetBSD: Makefile,v 1.113 2011/07/28 20:53:20 matt Exp $ |
2 | # | | 2 | # |
3 | # @(#)Makefile 5.1beta 93/09/24 | | 3 | # @(#)Makefile 5.1beta 93/09/24 |
4 | # | | 4 | # |
5 | # ==================================================== | | 5 | # ==================================================== |
6 | # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. | | 6 | # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. |
7 | # | | 7 | # |
8 | # Developed at SunPro, a Sun Microsystems, Inc. business. | | 8 | # Developed at SunPro, a Sun Microsystems, Inc. business. |
9 | # Permission to use, copy, modify, and distribute this | | 9 | # Permission to use, copy, modify, and distribute this |
10 | # software is freely granted, provided that this notice | | 10 | # software is freely granted, provided that this notice |
11 | # is preserved. | | 11 | # is preserved. |
12 | # ==================================================== | | 12 | # ==================================================== |
13 | # | | 13 | # |
14 | # | | 14 | # |
15 | | | 15 | |
16 | # | | 16 | # |
17 | # There are two options in making libm at fdlibm compile time: | | 17 | # There are two options in making libm at fdlibm compile time: |
18 | # _IEEE_LIBM --- IEEE libm; smaller, and somewhat faster | | 18 | # _IEEE_LIBM --- IEEE libm; smaller, and somewhat faster |
19 | # _MULTI_LIBM --- Support multi-standard at runtime by | | 19 | # _MULTI_LIBM --- Support multi-standard at runtime by |
20 | # imposing wrapper functions defined in | | 20 | # imposing wrapper functions defined in |
21 | # fdlibm.h: | | 21 | # fdlibm.h: |
22 | # _IEEE_MODE -- IEEE | | 22 | # _IEEE_MODE -- IEEE |
23 | # _XOPEN_MODE -- X/OPEN | | 23 | # _XOPEN_MODE -- X/OPEN |
24 | # _POSIX_MODE -- POSIX/ANSI | | 24 | # _POSIX_MODE -- POSIX/ANSI |
25 | # _SVID3_MODE -- SVID | | 25 | # _SVID3_MODE -- SVID |
26 | # | | 26 | # |
27 | # Here is how to set up CPPFLAGS to create the desired libm at | | 27 | # Here is how to set up CPPFLAGS to create the desired libm at |
28 | # compile time: | | 28 | # compile time: |
29 | # | | 29 | # |
30 | # CPPFLAGS = -D_IEEE_LIBM ... IEEE libm (recommended) | | 30 | # CPPFLAGS = -D_IEEE_LIBM ... IEEE libm (recommended) |
31 | # CPPFLAGS = -D_SVID3_MODE ... Multi-standard supported | | 31 | # CPPFLAGS = -D_SVID3_MODE ... Multi-standard supported |
32 | # libm with SVID as the | | 32 | # libm with SVID as the |
33 | # default standard | | 33 | # default standard |
34 | # CPPFLAGS = -D_XOPEN_MODE ... Multi-standard supported | | 34 | # CPPFLAGS = -D_XOPEN_MODE ... Multi-standard supported |
35 | # libm with XOPEN as the | | 35 | # libm with XOPEN as the |
36 | # default standard | | 36 | # default standard |
37 | # CPPFLAGS = -D_POSIX_MODE ... Multi-standard supported | | 37 | # CPPFLAGS = -D_POSIX_MODE ... Multi-standard supported |
38 | # libm with POSIX as the | | 38 | # libm with POSIX as the |
39 | # default standard | | 39 | # default standard |
40 | # CPPFLAGS = ... Multi-standard supported | | 40 | # CPPFLAGS = ... Multi-standard supported |
41 | # libm with IEEE as the | | 41 | # libm with IEEE as the |
42 | # default standard | | 42 | # default standard |
43 | # | | 43 | # |
44 | | | 44 | |
45 | USE_SHLIBDIR= yes | | 45 | USE_SHLIBDIR= yes |
46 | | | 46 | |
47 | # require this for the value of I387_LIBM from mk.conf, if set. | | 47 | # require this for the value of I387_LIBM from mk.conf, if set. |
48 | .include <bsd.own.mk> | | 48 | .include <bsd.own.mk> |
49 | | | 49 | |
50 | .if (${MACHINE_ARCH} == "alpha") | | 50 | .if (${MACHINE_ARCH} == "alpha") |
51 | .PATH: ${.CURDIR}/arch/alpha | | 51 | .PATH: ${.CURDIR}/arch/alpha |
52 | ARCH_SRCS = s_copysign.S s_copysignf.S lrint.S | | 52 | ARCH_SRCS = s_copysign.S s_copysignf.S lrint.S |
53 | .elif (${MACHINE_ARCH} == "sparc") | | 53 | .elif (${MACHINE_ARCH} == "sparc") |
54 | .PATH: ${.CURDIR}/arch/sparc | | 54 | .PATH: ${.CURDIR}/arch/sparc |
55 | COMMON_SRCS+= fenv.c | | 55 | COMMON_SRCS+= fenv.c |
56 | .elif (${MACHINE_ARCH} == "sparc64") | | 56 | .elif (${MACHINE_ARCH} == "sparc64") |
57 | .PATH: ${.CURDIR}/arch/sparc64 | | 57 | .PATH: ${.CURDIR}/arch/sparc64 |
58 | COMMON_SRCS+= fenv.c | | 58 | COMMON_SRCS+= fenv.c |
59 | .elif ((${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64")) | | 59 | .elif ((${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64")) |
60 | | | 60 | |
61 | .if (${MACHINE_ARCH} == "x86_64") | | 61 | .if (${MACHINE_ARCH} == "x86_64") |
62 | .PATH: ${.CURDIR}/arch/x86_64 | | 62 | .PATH: ${.CURDIR}/arch/x86_64 |
63 | .endif | | 63 | .endif |
64 | .PATH: ${.CURDIR}/arch/i387 | | 64 | .PATH: ${.CURDIR}/arch/i387 |
65 | | | 65 | |
66 | COMMON_SRCS+= fenv.c s_nextafterl.c s_nexttoward.c | | 66 | COMMON_SRCS+= fenv.c s_nextafterl.c s_nexttoward.c |
67 | ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_expf.S e_fmod.S e_log.S \ | | 67 | ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_expf.S e_fmod.S e_log.S \ |
68 | e_logf.S e_log10.S e_log10f.S e_log2.S e_log2f.S e_remainder.S \ | | 68 | e_logf.S e_log10.S e_log10f.S e_log2.S e_log2f.S e_remainder.S \ |
69 | e_remainderf.S e_scalb.S e_scalbf.S e_sqrt.S e_sqrtf.S s_atan.S \ | | 69 | e_remainderf.S e_scalb.S e_scalbf.S e_sqrt.S e_sqrtf.S s_atan.S \ |
70 | s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S s_cos.S \ | | 70 | s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S s_cos.S \ |
71 | s_cosf.S s_finite.S s_finitef.S s_floor.S s_floorf.S s_ilogb.S \ | | 71 | s_cosf.S s_finite.S s_finitef.S s_floor.S s_floorf.S s_ilogb.S \ |
72 | s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S s_rint.S \ | | 72 | s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S s_rint.S \ |
73 | s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \ | | 73 | s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \ |
74 | s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S lrint.S | | 74 | s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S lrint.S |
75 | # do not pick up the i387 asm version, it is incorrect | | 75 | # do not pick up the i387 asm version, it is incorrect |
76 | s_modf.o s_modf.pico s_modf.po s_modf.d: s_modf.c | | 76 | s_modf.o s_modf.pico s_modf.po s_modf.d: s_modf.c |
77 | | | 77 | |
78 | .if (${MACHINE_ARCH} == "i386") | | 78 | .if (${MACHINE_ARCH} == "i386") |
79 | SUBDIR=arch/i387 | | 79 | SUBDIR=arch/i387 |
80 | .endif | | 80 | .endif |
81 | .elif (${MACHINE_ARCH} == "m68k") | | 81 | .elif (${MACHINE_ARCH} == "m68k") |
82 | .if defined(M68060) | | 82 | .if defined(M68060) |
83 | .PATH: ${.CURDIR}/arch/m68060 | | 83 | .PATH: ${.CURDIR}/arch/m68060 |
84 | .include "${.CURDIR}/arch/m68060/Makefile.list" | | 84 | .include "${.CURDIR}/arch/m68060/Makefile.list" |
85 | COPTS+=-m68060 | | 85 | COPTS+=-m68060 |
86 | .PATH: ${.CURDIR}/arch/m68k | | 86 | .PATH: ${.CURDIR}/arch/m68k |
87 | ARCH_SRCS += s_ceil.S s_copysign.S s_finite.S s_floor.S s_rint.S | | 87 | ARCH_SRCS += s_ceil.S s_copysign.S s_finite.S s_floor.S s_rint.S |
88 | .elif defined(M68040) | | 88 | .elif defined(M68040) |
89 | .PATH: ${.CURDIR}/arch/m68k | | 89 | .PATH: ${.CURDIR}/arch/m68k |
90 | COPTS+=-m68040 | | 90 | COPTS+=-m68040 |
91 | ARCH_SRCS = s_copysign.S s_finite.S | | 91 | ARCH_SRCS = s_copysign.S s_finite.S |
92 | .else | | 92 | .else |
93 | .if (${MKSOFTFLOAT} != "yes") | | 93 | .if (${MKSOFTFLOAT} != "yes") |
94 | .PATH: ${.CURDIR}/arch/mc68881 ${.CURDIR}/arch/m68k | | 94 | .PATH: ${.CURDIR}/arch/mc68881 ${.CURDIR}/arch/m68k |
95 | ARCH_SRCS = e_acos.S e_asin.S e_atanh.S e_cosh.S e_exp.S e_fmod.S e_log.S \ | | 95 | ARCH_SRCS = e_acos.S e_asin.S e_atanh.S e_cosh.S e_exp.S e_fmod.S e_log.S \ |
96 | e_log10.S e_remainder.S e_scalb.S e_sinh.S e_sqrt.S s_atan.S \ | | 96 | e_log10.S e_remainder.S e_scalb.S e_sinh.S e_sqrt.S s_atan.S \ |
97 | s_ceil.S s_copysign.S s_cos.S s_expm1.S s_finite.S s_floor.S \ | | 97 | s_ceil.S s_copysign.S s_cos.S s_expm1.S s_finite.S s_floor.S \ |
98 | s_log1p.S s_logb.S s_rint.S s_scalbn.S s_sin.S s_tan.S s_tanh.S | | 98 | s_log1p.S s_logb.S s_rint.S s_scalbn.S s_sin.S s_tan.S s_tanh.S |
99 | .endif | | 99 | .endif |
100 | .endif | | 100 | .endif |
101 | # end of m68k | | 101 | # end of m68k |
102 | .elif (${MACHINE_ARCH} == "vax") | | 102 | .elif (${MACHINE_ARCH} == "vax") |
103 | #.PATH: ${.CURDIR}/arch/vax | | 103 | .PATH: ${.CURDIR}/arch/vax |
104 | | | 104 | |
105 | #NOIEEE_ARCH= n_infnan.S n_argred.S n_sqrt.S | | 105 | #NOIEEE_ARCH= n_infnan.S n_argred.S n_sqrt.S |
106 | #ARCH_SRCS = n_atan2.S n_cabs.S n_cbrt.S n_support.S n_sincos.S n_tan.S | | 106 | #ARCH_SRCS = n_atan2.S n_cabs.S n_cbrt.S n_support.S n_sincos.S n_tan.S |
107 | # XXX - ripped out due to lack of the insn polyd in the Mariah chip, | | 107 | # XXX - ripped out due to lack of the insn polyd in the Mariah chip, |
108 | # and emulation code isn't written yet. | | 108 | # and emulation code isn't written yet. |
| | | 109 | ARCHS_SRCS = n_scalbn.S |
109 | WARNS?=4 | | 110 | WARNS?=4 |
110 | .endif | | 111 | .endif |
111 | | | 112 | |
112 | WARNS?=4 | | 113 | WARNS?=4 |
113 | | | 114 | |
114 | .PATH: ${.CURDIR}/man | | 115 | .PATH: ${.CURDIR}/man |
115 | .PATH: ${.CURDIR}/src | | 116 | .PATH: ${.CURDIR}/src |
116 | .PATH: ${.CURDIR}/noieee_src | | 117 | .PATH: ${.CURDIR}/noieee_src |
117 | | | 118 | |
118 | .if (${MACHINE_ARCH} != "vax") | | 119 | .if (${MACHINE_ARCH} != "vax") |
119 | CPPFLAGS+= -D_MULTI_LIBM -D_POSIX_MODE | | 120 | CPPFLAGS+= -D_MULTI_LIBM -D_POSIX_MODE |
120 | # XXX noieee libm is gross | | 121 | # XXX noieee libm is gross |
121 | COPTS+= -fno-strict-aliasing | | 122 | COPTS+= -fno-strict-aliasing |
122 | .endif | | 123 | .endif |
123 | CPPFLAGS+=-DLIBM_SCCS | | 124 | CPPFLAGS+=-DLIBM_SCCS |
124 | | | 125 | |
125 | LIB= m | | 126 | LIB= m |
126 | COMMON_SRCS+= e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \ | | 127 | COMMON_SRCS+= e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \ |
127 | e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \ | | 128 | e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \ |
128 | e_expf.c e_fmod.c e_fmodf.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c \ | | 129 | e_expf.c e_fmod.c e_fmodf.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c \ |
129 | e_j1.c e_j1f.c e_jn.c e_jnf.c e_lgamma_r.c e_lgammaf_r.c e_log.c \ | | 130 | e_j1.c e_j1f.c e_jn.c e_jnf.c e_lgamma_r.c e_lgammaf_r.c e_log.c \ |
130 | e_log2.c e_log10.c e_log10f.c e_log2f.c e_logf.c e_pow.c e_powf.c \ | | 131 | e_log2.c e_log10.c e_log10f.c e_log2f.c e_logf.c e_pow.c e_powf.c \ |
131 | e_rem_pio2.c e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c \ | | 132 | e_rem_pio2.c e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c \ |
132 | e_scalbf.c e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c \ | | 133 | e_scalbf.c e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c \ |
133 | k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \ | | 134 | k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \ |
134 | k_standard.c k_tan.c k_tanf.c \ | | 135 | k_standard.c k_tan.c k_tanf.c \ |
135 | s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c s_ceil.c \ | | 136 | s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c s_ceil.c \ |
136 | s_ceilf.c s_copysign.c s_copysignf.c s_copysignl.c s_cos.c s_cosf.c s_erf.c \ | | 137 | s_ceilf.c s_copysign.c s_copysignf.c s_copysignl.c s_cos.c s_cosf.c s_erf.c \ |
137 | s_erff.c s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fabsl.c \ | | 138 | s_erff.c s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fabsl.c \ |
138 | s_finite.c s_finitef.c \ | | 139 | s_finite.c s_finitef.c \ |
139 | s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \ | | 140 | s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \ |
140 | s_isinff.c s_isnanf.c s_ldexpf.c s_lib_version.c s_log1p.c \ | | 141 | s_isinff.c s_isnanf.c s_ldexpf.c s_lib_version.c s_log1p.c \ |
141 | s_log1pf.c s_logb.c s_logbf.c s_matherr.c s_modff.c s_nextafter.c \ | | 142 | s_log1pf.c s_logb.c s_logbf.c s_matherr.c s_modff.c s_nextafter.c \ |
142 | s_nextafterf.c s_remquo.c s_remquof.c s_rint.c s_rintf.c s_round.c s_roundf.c s_scalbn.c \ | | 143 | s_nextafterf.c s_remquo.c s_remquof.c s_rint.c s_rintf.c s_round.c s_roundf.c s_scalbn.c \ |
143 | s_scalbnf.c s_scalbnl.c s_signgam.c s_significand.c s_significandf.c s_sin.c \ | | 144 | s_scalbnf.c s_scalbnl.c s_signgam.c s_significand.c s_significandf.c s_sin.c \ |
144 | s_sinf.c s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \ | | 145 | s_sinf.c s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \ |
145 | w_acos.c w_acosf.c w_acosh.c w_acoshf.c w_asin.c w_asinf.c w_atan2.c \ | | 146 | w_acos.c w_acosf.c w_acosh.c w_acoshf.c w_asin.c w_asinf.c w_atan2.c \ |
146 | w_atan2f.c w_atanh.c w_atanhf.c w_cosh.c w_coshf.c \ | | 147 | w_atan2f.c w_atanh.c w_atanhf.c w_cosh.c w_coshf.c \ |
147 | w_drem.c w_dremf.c w_exp.c w_expf.c w_fmod.c w_fmodf.c w_gamma.c \ | | 148 | w_drem.c w_dremf.c w_exp.c w_expf.c w_fmod.c w_fmodf.c w_gamma.c \ |
148 | w_gamma_r.c w_gammaf.c w_gammaf_r.c w_hypot.c w_hypotf.c w_j0.c \ | | 149 | w_gamma_r.c w_gammaf.c w_gammaf_r.c w_hypot.c w_hypotf.c w_j0.c \ |
149 | w_j0f.c w_j1.c w_j1f.c w_jn.c w_jnf.c w_lgamma.c w_lgamma_r.c \ | | 150 | w_j0f.c w_j1.c w_j1f.c w_jn.c w_jnf.c w_lgamma.c w_lgamma_r.c \ |
150 | w_lgammaf.c w_lgammaf_r.c w_log.c w_log10.c w_log10f.c w_log2.c \ | | 151 | w_lgammaf.c w_lgammaf_r.c w_log.c w_log10.c w_log10f.c w_log2.c \ |
151 | w_log2f.c w_logf.c \ | | 152 | w_log2f.c w_logf.c \ |
152 | w_pow.c w_powf.c w_remainder.c w_remainderf.c w_scalb.c w_scalbf.c \ | | 153 | w_pow.c w_powf.c w_remainder.c w_remainderf.c w_scalb.c w_scalbf.c \ |
153 | w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c \ | | 154 | w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c \ |
154 | lrint.c lrintf.c llrint.c llrintf.c lround.c lroundf.c llround.c \ | | 155 | lrint.c lrintf.c llrint.c llrintf.c lround.c lroundf.c llround.c \ |
155 | llroundf.c s_frexp.c s_ldexp.c s_modf.c \ | | 156 | llroundf.c s_frexp.c s_ldexp.c s_modf.c \ |
156 | s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c s_fminf.c s_fminl.c s_fdim.c | | 157 | s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c s_fminf.c s_fminl.c s_fdim.c |
157 | | | 158 | |
158 | .PATH: ${.CURDIR}/compat | | 159 | .PATH: ${.CURDIR}/compat |
159 | COMMON_SRCS+= compat_cabs.c compat_cabsf.c | | 160 | COMMON_SRCS+= compat_cabs.c compat_cabsf.c |
160 | # XXX our compatibility cabs() is different! | | 161 | # XXX our compatibility cabs() is different! |
161 | .if defined(HAVE_GCC) | | 162 | .if defined(HAVE_GCC) |
162 | COPTS.compat_cabs.c= -fno-builtin-cabs | | 163 | COPTS.compat_cabs.c= -fno-builtin-cabs |
163 | COPTS.compat_cabsf.c= -fno-builtin-cabsf | | 164 | COPTS.compat_cabsf.c= -fno-builtin-cabsf |
164 | .endif | | 165 | .endif |
165 | | | 166 | |
166 | # math routines for non-IEEE architectures. | | 167 | # math routines for non-IEEE architectures. |
167 | NOIEEE_SRCS = n_asincos.c n_acosh.c n_asinh.c n_atan.c n_atanh.c n_cosh.c \ | | 168 | NOIEEE_SRCS = n_asincos.c n_acosh.c n_asinh.c n_atan.c n_atanh.c n_cosh.c \ |
168 | n_erf.c n_exp.c n_exp__E.c n_expm1.c n_floor.c n_fmod.c n_gamma.c \ | | 169 | n_erf.c n_exp.c n_exp__E.c n_expm1.c n_floor.c n_fmod.c n_gamma.c \ |
169 | n_lgamma.c n_j0.c n_j1.c n_jn.c n_log.c n_log10.c n_log1p.c \ | | 170 | n_lgamma.c n_j0.c n_j1.c n_jn.c n_log.c n_log10.c n_log1p.c \ |
170 | n_log__L.c n_pow.c n_sinh.c n_tanh.c \ | | 171 | n_log__L.c n_pow.c n_sinh.c n_tanh.c \ |
171 | n_sincos.c n_tan.c \ | | 172 | n_sincos.c n_tan.c \ |
172 | n_round.c n_roundf.c n_lround.c n_lroundf.c \ | | 173 | n_round.c n_roundf.c n_lround.c n_lroundf.c \ |
173 | n_fmax.c n_fmaxf.c n_fmin.c n_fminf.c | | 174 | n_fmax.c n_fmaxf.c n_fmin.c n_fminf.c |
174 | # n_sqrt.c n_argred.c n_infnan.c n_atan2.c n_cabs.c n_cbrt.c n_support.c | | 175 | # n_sqrt.c n_argred.c n_infnan.c n_atan2.c n_cabs.c n_cbrt.c n_support.c |
175 | | | 176 | |
176 | | | 177 | |
177 | # NetBSD's C library supplies these functions: | | 178 | # NetBSD's C library supplies these functions: |
178 | #COMMON_SRCS+= s_fabs.c s_frexp.c s_isinf.c s_isnan.c s_ldexp.c s_modf.c | | 179 | #COMMON_SRCS+= s_fabs.c s_frexp.c s_isinf.c s_isnan.c s_ldexp.c s_modf.c |
179 | | | 180 | |
180 | .if (${MACHINE_ARCH} == "vax") | | 181 | .if (${MACHINE_ARCH} == "vax") |
181 | SRCS= ${NOIEEE_SRCS} ${NOIEEE_ARCH} | | 182 | SRCS= ${NOIEEE_SRCS} ${NOIEEE_ARCH} |
182 | .else | | 183 | .else |
183 | SRCS= ${COMMON_SRCS} | | 184 | SRCS= ${COMMON_SRCS} |
184 | .endif | | 185 | .endif |
185 | | | 186 | |
186 | .ifdef ARCH_ADDS | | 187 | .ifdef ARCH_ADDS |
187 | SRCS+= ${ARCH_ADDS} | | 188 | SRCS+= ${ARCH_ADDS} |
188 | .endif | | 189 | .endif |
189 | | | 190 | |
190 | # Substitute common sources with any arch specific sources | | 191 | # Substitute common sources with any arch specific sources |
191 | .for i in ${ARCH_SRCS} ${NOIEEE_ARCH} | | 192 | .for i in ${ARCH_SRCS} ${NOIEEE_ARCH} |
192 | SRCS:=${SRCS:S/^${i:S/.S/.c/}/$i/} | | 193 | SRCS:=${SRCS:S/^${i:S/.S/.c/}/$i/} |
193 | .endfor | | 194 | .endfor |
194 | | | 195 | |
195 | .if (${MACHINE_ARCH} == "vax") # XXX until POLYD is written. | | 196 | .if (${MACHINE_ARCH} == "vax") # XXX until POLYD is written. |
196 | .PATH: ${.CURDIR}/arch/vax | | 197 | .PATH: ${.CURDIR}/arch/vax |
197 | SRCS:=${SRCS} n_sqrt.S n_argred.S n_infnan.S n_atan2.S n_cabs.S n_cbrt.S \ | | 198 | SRCS:=${SRCS} n_sqrt.S n_argred.S n_infnan.S n_atan2.S n_cabs.S n_cbrt.S \ |
198 | n_support.S | | 199 | n_support.S |
199 | .endif | | 200 | .endif |
200 | | | 201 | |
201 | .if (${MACHINE_ARCH} == "i386") | | 202 | .if (${MACHINE_ARCH} == "i386") |
202 | # XXX this gets miscompiled. There should be a better fix. | | 203 | # XXX this gets miscompiled. There should be a better fix. |
203 | COPTS.s_tanh.c+= -O0 | | 204 | COPTS.s_tanh.c+= -O0 |
204 | .endif | | 205 | .endif |
205 | | | 206 | |
206 | MAN+= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ | | 207 | MAN+= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \ |
207 | ceil.3 copysign.3 cos.3 cosh.3 \ | | 208 | ceil.3 copysign.3 cos.3 cosh.3 \ |
208 | erf.3 exp.3 \ | | 209 | erf.3 exp.3 \ |
209 | fabs.3 fmod.3 frexp.3 hypot.3 ieee.3 \ | | 210 | fabs.3 fmod.3 frexp.3 hypot.3 ieee.3 \ |
210 | ieee_test.3 ilogb.3 isinff.3 j0.3 ldexp.3 lgamma.3 lrint.3 \ | | 211 | ieee_test.3 ilogb.3 isinff.3 j0.3 ldexp.3 lgamma.3 lrint.3 \ |
211 | math.3 modf.3 nextafter.3 \ | | 212 | math.3 modf.3 nextafter.3 \ |
212 | remainder.3 rint.3 round.3 \ | | 213 | remainder.3 rint.3 round.3 \ |
213 | sin.3 sinh.3 sqrt.3 \ | | 214 | sin.3 sinh.3 sqrt.3 \ |
214 | tan.3 tanh.3 trunc.3 fmax.3 fdim.3 | | 215 | tan.3 tanh.3 trunc.3 fmax.3 fdim.3 |
215 | | | 216 | |
216 | # fenv.h interface | | 217 | # fenv.h interface |
217 | MAN+= feclearexcept.3 feenableexcept.3 fegetenv.3 fegetround.3 fenv.3 | | 218 | MAN+= feclearexcept.3 feenableexcept.3 fegetenv.3 fegetround.3 fenv.3 |
218 | MLINKS+=feclearexcept.3 fegetexceptflag.3 \ | | 219 | MLINKS+=feclearexcept.3 fegetexceptflag.3 \ |
219 | feclearexcept.3 feraiseexcept.3 \ | | 220 | feclearexcept.3 feraiseexcept.3 \ |
220 | feclearexcept.3 fesetexceptflag.3 \ | | 221 | feclearexcept.3 fesetexceptflag.3 \ |
221 | feclearexcept.3 fetestexcept.3 | | 222 | feclearexcept.3 fetestexcept.3 |
222 | MLINKS+=feenableexcept.3 fedisableexcept.3 \ | | 223 | MLINKS+=feenableexcept.3 fedisableexcept.3 \ |
223 | feenableexcept.3 fegetexcept.3 | | 224 | feenableexcept.3 fegetexcept.3 |
224 | MLINKS+=fegetenv.3 feholdexcept.3 \ | | 225 | MLINKS+=fegetenv.3 feholdexcept.3 \ |
225 | fegetenv.3 fesetenv.3 \ | | 226 | fegetenv.3 fesetenv.3 \ |
226 | fegetenv.3 feupdateenv.3 | | 227 | fegetenv.3 feupdateenv.3 |
227 | MLINKS+=fegetround.3 fesetround.3 | | 228 | MLINKS+=fegetround.3 fesetround.3 |
228 | | | 229 | |
229 | MLINKS+=acos.3 acosf.3 | | 230 | MLINKS+=acos.3 acosf.3 |
230 | MLINKS+=acosh.3 acoshf.3 | | 231 | MLINKS+=acosh.3 acoshf.3 |
231 | MLINKS+=asin.3 asinf.3 | | 232 | MLINKS+=asin.3 asinf.3 |
232 | MLINKS+=asinh.3 asinhf.3 | | 233 | MLINKS+=asinh.3 asinhf.3 |
233 | MLINKS+=atan.3 atanf.3 | | 234 | MLINKS+=atan.3 atanf.3 |
234 | MLINKS+=atan2.3 atan2f.3 | | 235 | MLINKS+=atan2.3 atan2f.3 |
235 | MLINKS+=atanh.3 atanhf.3 | | 236 | MLINKS+=atanh.3 atanhf.3 |
236 | MLINKS+=ceil.3 ceilf.3 \ | | 237 | MLINKS+=ceil.3 ceilf.3 \ |
237 | ceil.3 floor.3 \ | | 238 | ceil.3 floor.3 \ |
238 | ceil.3 floorf.3 | | 239 | ceil.3 floorf.3 |
239 | MLINKS+=copysign.3 copysignf.3 \ | | 240 | MLINKS+=copysign.3 copysignf.3 \ |
240 | copysign.3 copysignl.3 | | 241 | copysign.3 copysignl.3 |
241 | MLINKS+=cos.3 cosf.3 | | 242 | MLINKS+=cos.3 cosf.3 |
242 | MLINKS+=cosh.3 coshf.3 | | 243 | MLINKS+=cosh.3 coshf.3 |
243 | MLINKS+=erf.3 erff.3 erf.3 erfc.3 erf.3 erfcf.3 | | 244 | MLINKS+=erf.3 erff.3 erf.3 erfc.3 erf.3 erfcf.3 |
244 | MLINKS+=exp.3 expf.3 exp.3 expm1.3 exp.3 expm1f.3 \ | | 245 | MLINKS+=exp.3 expf.3 exp.3 expm1.3 exp.3 expm1f.3 \ |
245 | exp.3 exp2.3 exp.3 exp2f.3 \ | | 246 | exp.3 exp2.3 exp.3 exp2f.3 \ |
246 | exp.3 log.3 exp.3 logf.3 \ | | 247 | exp.3 log.3 exp.3 logf.3 \ |
247 | exp.3 log10.3 exp.3 log10f.3 \ | | 248 | exp.3 log10.3 exp.3 log10f.3 \ |
248 | exp.3 log1p.3 exp.3 log1pf.3 \ | | 249 | exp.3 log1p.3 exp.3 log1pf.3 \ |
249 | exp.3 pow.3 exp.3 powf.3 \ | | 250 | exp.3 pow.3 exp.3 powf.3 \ |
250 | exp.3 log2.3 exp.3 log2f.3 | | 251 | exp.3 log2.3 exp.3 log2f.3 |
251 | MLINKS+=fabs.3 fabsf.3 | | 252 | MLINKS+=fabs.3 fabsf.3 |
252 | MLINKS+=fmod.3 fmodf.3 | | 253 | MLINKS+=fmod.3 fmodf.3 |
253 | MLINKS+=hypot.3 hypotf.3 | | 254 | MLINKS+=hypot.3 hypotf.3 |
254 | MLINKS+=ieee.3 finite.3 ieee.3 finitef.3 \ | | 255 | MLINKS+=ieee.3 finite.3 ieee.3 finitef.3 \ |
255 | ieee.3 scalbn.3 ieee.3 scalbnf.3 | | 256 | ieee.3 scalbn.3 ieee.3 scalbnf.3 |
256 | MLINKS+=ieee_test.3 logb.3 ieee_test.3 logbf.3 | | 257 | MLINKS+=ieee_test.3 logb.3 ieee_test.3 logbf.3 |
257 | MLINKS+=ieee_test.3 scalb.3 ieee_test.3 scalbf.3 | | 258 | MLINKS+=ieee_test.3 scalb.3 ieee_test.3 scalbf.3 |
258 | MLINKS+=ieee_test.3 significand.3 ieee_test.3 significandf.3 | | 259 | MLINKS+=ieee_test.3 significand.3 ieee_test.3 significandf.3 |
259 | MLINKS+=ilogb.3 ilogbf.3 | | 260 | MLINKS+=ilogb.3 ilogbf.3 |
260 | MLINKS+=isinff.3 isnanf.3 | | 261 | MLINKS+=isinff.3 isnanf.3 |
261 | MLINKS+=j0.3 j0f.3 j0.3 j1.3 j0.3 j1f.3 j0.3 jn.3 j0.3 jnf.3 \ | | 262 | MLINKS+=j0.3 j0f.3 j0.3 j1.3 j0.3 j1f.3 j0.3 jn.3 j0.3 jnf.3 \ |
262 | j0.3 y0.3 j0.3 y0f.3 j0.3 y1.3 j0.3 y1f.3 j0.3 yn.3 j0.3 ynf.3 | | 263 | j0.3 y0.3 j0.3 y0f.3 j0.3 y1.3 j0.3 y1f.3 j0.3 yn.3 j0.3 ynf.3 |
263 | MLINKS+=lgamma.3 lgammaf.3 lgamma.3 lgamma_r.3 lgamma.3 lgammaf_r.3 \ | | 264 | MLINKS+=lgamma.3 lgammaf.3 lgamma.3 lgamma_r.3 lgamma.3 lgammaf_r.3 \ |
264 | lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 gamma_r.3 \ | | 265 | lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 gamma_r.3 \ |
265 | lgamma.3 gammaf_r.3 | | 266 | lgamma.3 gammaf_r.3 |
266 | MLINKS+=nextafter.3 nextafterf.3 \ | | 267 | MLINKS+=nextafter.3 nextafterf.3 \ |
267 | nextafter.3 nextafterl.3 \ | | 268 | nextafter.3 nextafterl.3 \ |
268 | nextafter.3 nexttoward.3 | | 269 | nextafter.3 nexttoward.3 |
269 | MLINKS+=lrint.3 lrintf.3 lrint.3 llrint.3 lrint.3 llrintf.3 | | 270 | MLINKS+=lrint.3 lrintf.3 lrint.3 llrint.3 lrint.3 llrintf.3 |
270 | MLINKS+=remainder.3 remainderf.3 \ | | 271 | MLINKS+=remainder.3 remainderf.3 \ |
271 | remainder.3 remquo.3 \ | | 272 | remainder.3 remquo.3 \ |
272 | remainder.3 remquof.3 | | 273 | remainder.3 remquof.3 |
273 | MLINKS+=rint.3 rintf.3 | | 274 | MLINKS+=rint.3 rintf.3 |
274 | MLINKS+=sin.3 sinf.3 | | 275 | MLINKS+=sin.3 sinf.3 |
275 | MLINKS+=sinf.3 sinhf.3 | | 276 | MLINKS+=sinf.3 sinhf.3 |
276 | MLINKS+=sqrt.3 sqrtf.3 sqrt.3 cbrt.3 sqrt.3 cbrtf.3 | | 277 | MLINKS+=sqrt.3 sqrtf.3 sqrt.3 cbrt.3 sqrt.3 cbrtf.3 |
277 | MLINKS+=tan.3 tanf.3 | | 278 | MLINKS+=tan.3 tanf.3 |
278 | MLINKS+=tanh.3 tanhf.3 | | 279 | MLINKS+=tanh.3 tanhf.3 |
279 | MLINKS+=round.3 roundf.3 | | 280 | MLINKS+=round.3 roundf.3 |
280 | MLINKS+=trunc.3 truncf.3 | | 281 | MLINKS+=trunc.3 truncf.3 |
281 | MLINKS+=fmax.3 fmaxl.3 | | 282 | MLINKS+=fmax.3 fmaxl.3 |
282 | MLINKS+=fmax.3 fmaxf.3 | | 283 | MLINKS+=fmax.3 fmaxf.3 |
283 | MLINKS+=fmax.3 fmin.3 | | 284 | MLINKS+=fmax.3 fmin.3 |
284 | MLINKS+=fmax.3 fminl.3 | | 285 | MLINKS+=fmax.3 fminl.3 |
285 | MLINKS+=fmax.3 fminf.3 | | 286 | MLINKS+=fmax.3 fminf.3 |
286 | MLINKS+=fdim.3 fdiml.3 | | 287 | MLINKS+=fdim.3 fdiml.3 |
287 | MLINKS+=fdim.3 fdimf.3 | | 288 | MLINKS+=fdim.3 fdimf.3 |
288 | | | 289 | |
289 | .if (${MKCOMPLEX} != "no") | | 290 | .if (${MKCOMPLEX} != "no") |
290 | .include "${.CURDIR}/complex/Makefile.inc" | | 291 | .include "${.CURDIR}/complex/Makefile.inc" |
291 | .endif | | 292 | .endif |
292 | | | 293 | |
293 | .include "${.CURDIR}/gen/Makefile.inc" | | 294 | .include "${.CURDIR}/gen/Makefile.inc" |
294 | .include <bsd.lib.mk> | | 295 | .include <bsd.lib.mk> |
295 | .include <bsd.subdir.mk> | | 296 | .include <bsd.subdir.mk> |