source: trunk/libc/src/msun/Makefile.kmk@ 2710

Last change on this file since 2710 was 2710, checked in by bird, 19 years ago

Made libc07.dll build.

File size: 10.5 KB
Line 
1# $Id: $
2## @file
3#
4# kBuild Sub-Makefile for kLIBC - src/msun.
5#
6# Copyright (c) 2006 knut st. osmundsen <bird@anduin.net>
7#
8#
9# This file is part of kLIBC.
10#
11# kLIBC is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# kLIBC is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kLIBC; if not, write to the Free Software
23# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24#
25#
26
27# include common stuff.
28DEPTH ?= ../../..
29SUB_DEPTH = ../..
30include $(PATH_KBUILD)/subheader.kmk
31
32LIBRARIES += libc_msun
33
34libc_msun_TEMPLATE = libcsub
35libc_msun_DEFS = lint _BSD_NAMESPACE_POLLUTION
36libc_msun_INCS = $(PATH_LIBC_SRC)/fbsdlibc/include
37libc_msun_CFLAGS = -fno-strict-aliasing # No optimizations based on strict aliasing here, thank you.
38libc_msun_SOURCES := \
39 $(PATH_LIBC_SRC)/msun/bsdsrc/b_exp.c \
40 $(PATH_LIBC_SRC)/msun/bsdsrc/b_log.c \
41 $(PATH_LIBC_SRC)/msun/bsdsrc/b_tgamma.c \
42 \
43 $(PATH_LIBC_SRC)/msun/src/e_acos.c \
44 $(PATH_LIBC_SRC)/msun/src/e_acosf.c \
45 $(PATH_LIBC_SRC)/msun/src/e_acosh.c \
46 $(PATH_LIBC_SRC)/msun/src/e_acoshf.c \
47 $(PATH_LIBC_SRC)/msun/src/e_asin.c \
48 $(PATH_LIBC_SRC)/msun/src/e_asinf.c \
49 $(PATH_LIBC_SRC)/msun/src/e_atan2.c \
50 $(PATH_LIBC_SRC)/msun/src/e_atan2f.c \
51 $(PATH_LIBC_SRC)/msun/src/e_atanh.c \
52 $(PATH_LIBC_SRC)/msun/src/e_atanhf.c \
53 $(PATH_LIBC_SRC)/msun/src/e_cosh.c \
54 $(PATH_LIBC_SRC)/msun/src/e_coshf.c \
55 $(PATH_LIBC_SRC)/msun/src/e_exp.c \
56 $(PATH_LIBC_SRC)/msun/src/e_expf.c \
57 $(PATH_LIBC_SRC)/msun/src/e_fmod.c \
58 $(PATH_LIBC_SRC)/msun/src/e_fmodf.c \
59 $(PATH_LIBC_SRC)/msun/src/e_gamma.c \
60 $(PATH_LIBC_SRC)/msun/src/e_gammaf.c \
61 $(PATH_LIBC_SRC)/msun/src/e_gammaf_r.c \
62 $(PATH_LIBC_SRC)/msun/src/e_gamma_r.c \
63 $(PATH_LIBC_SRC)/msun/src/e_hypot.c \
64 $(PATH_LIBC_SRC)/msun/src/e_hypotf.c \
65 $(PATH_LIBC_SRC)/msun/src/e_j0.c \
66 $(PATH_LIBC_SRC)/msun/src/e_j0f.c \
67 $(PATH_LIBC_SRC)/msun/src/e_j1.c \
68 $(PATH_LIBC_SRC)/msun/src/e_j1f.c \
69 $(PATH_LIBC_SRC)/msun/src/e_jn.c \
70 $(PATH_LIBC_SRC)/msun/src/e_jnf.c \
71 $(PATH_LIBC_SRC)/msun/src/e_lgamma.c \
72 $(PATH_LIBC_SRC)/msun/src/e_lgammaf.c \
73 $(PATH_LIBC_SRC)/msun/src/e_lgammaf_r.c \
74 $(PATH_LIBC_SRC)/msun/src/e_lgamma_r.c \
75 $(PATH_LIBC_SRC)/msun/src/e_log.c \
76 $(PATH_LIBC_SRC)/msun/src/e_log10.c \
77 $(PATH_LIBC_SRC)/msun/src/e_log10f.c \
78 $(PATH_LIBC_SRC)/msun/src/e_logf.c \
79 $(PATH_LIBC_SRC)/msun/src/e_pow.c \
80 $(PATH_LIBC_SRC)/msun/src/e_powf.c \
81 $(PATH_LIBC_SRC)/msun/src/e_remainder.c \
82 $(PATH_LIBC_SRC)/msun/src/e_remainderf.c \
83 $(PATH_LIBC_SRC)/msun/src/e_rem_pio2.c \
84 $(PATH_LIBC_SRC)/msun/src/e_rem_pio2f.c \
85 $(PATH_LIBC_SRC)/msun/src/e_scalb.c \
86 $(PATH_LIBC_SRC)/msun/src/e_scalbf.c \
87 $(PATH_LIBC_SRC)/msun/src/e_sinh.c \
88 $(PATH_LIBC_SRC)/msun/src/e_sinhf.c \
89 $(PATH_LIBC_SRC)/msun/src/e_sqrt.c \
90 $(PATH_LIBC_SRC)/msun/src/e_sqrtf.c \
91 $(PATH_LIBC_SRC)/msun/src/k_cos.c \
92 $(PATH_LIBC_SRC)/msun/src/k_cosf.c \
93 $(PATH_LIBC_SRC)/msun/src/k_rem_pio2.c \
94 $(PATH_LIBC_SRC)/msun/src/k_rem_pio2f.c \
95 $(PATH_LIBC_SRC)/msun/src/k_sin.c \
96 $(PATH_LIBC_SRC)/msun/src/k_sinf.c \
97 $(PATH_LIBC_SRC)/msun/src/k_tan.c \
98 $(PATH_LIBC_SRC)/msun/src/k_tanf.c \
99 $(PATH_LIBC_SRC)/msun/src/s_asinh.c \
100 $(PATH_LIBC_SRC)/msun/src/s_asinhf.c \
101 $(PATH_LIBC_SRC)/msun/src/s_atan.c \
102 $(PATH_LIBC_SRC)/msun/src/s_atanf.c \
103 $(PATH_LIBC_SRC)/msun/src/s_cbrt.c \
104 $(PATH_LIBC_SRC)/msun/src/s_cbrtf.c \
105 $(PATH_LIBC_SRC)/msun/src/s_ceil.c \
106 $(PATH_LIBC_SRC)/msun/src/s_ceilf.c \
107 $(PATH_LIBC_SRC)/msun/src/s_ceill.c \
108 $(PATH_LIBC_SRC)/msun/src/s_cimag.c \
109 $(PATH_LIBC_SRC)/msun/src/s_cimagf.c \
110 $(PATH_LIBC_SRC)/msun/src/s_cimagl.c \
111 $(PATH_LIBC_SRC)/msun/src/s_conj.c \
112 $(PATH_LIBC_SRC)/msun/src/s_conjf.c \
113 $(PATH_LIBC_SRC)/msun/src/s_conjl.c \
114 $(PATH_LIBC_SRC)/msun/src/s_copysign.c \
115 $(PATH_LIBC_SRC)/msun/src/s_copysignf.c \
116 $(PATH_LIBC_SRC)/msun/src/s_copysignl.c \
117 $(PATH_LIBC_SRC)/msun/src/s_cos.c \
118 $(PATH_LIBC_SRC)/msun/src/s_cosf.c \
119 $(PATH_LIBC_SRC)/msun/src/s_creal.c \
120 $(PATH_LIBC_SRC)/msun/src/s_crealf.c \
121 $(PATH_LIBC_SRC)/msun/src/s_creall.c \
122 $(PATH_LIBC_SRC)/msun/src/s_erf.c \
123 $(PATH_LIBC_SRC)/msun/src/s_erff.c \
124 $(PATH_LIBC_SRC)/msun/src/s_exp2.c \
125 $(PATH_LIBC_SRC)/msun/src/s_exp2f.c \
126 $(PATH_LIBC_SRC)/msun/src/s_expm1.c \
127 $(PATH_LIBC_SRC)/msun/src/s_expm1f.c \
128 $(PATH_LIBC_SRC)/msun/src/s_fabs.c \
129 $(PATH_LIBC_SRC)/msun/src/s_fabsf.c \
130 $(PATH_LIBC_SRC)/msun/src/s_fabsl.c \
131 $(PATH_LIBC_SRC)/msun/src/s_fdim.c \
132 $(PATH_LIBC_SRC)/msun/src/s_finite.c \
133 $(PATH_LIBC_SRC)/msun/src/s_finitef.c \
134 $(PATH_LIBC_SRC)/msun/src/s_floor.c \
135 $(PATH_LIBC_SRC)/msun/src/s_floorf.c \
136 $(PATH_LIBC_SRC)/msun/src/s_floorl.c \
137 $(PATH_LIBC_SRC)/msun/src/s_fma.c \
138 $(PATH_LIBC_SRC)/msun/src/s_fmaf.c \
139 $(PATH_LIBC_SRC)/msun/src/s_fmal.c \
140 $(PATH_LIBC_SRC)/msun/src/s_fmax.c \
141 $(PATH_LIBC_SRC)/msun/src/s_fmaxf.c \
142 $(PATH_LIBC_SRC)/msun/src/s_fmaxl.c \
143 $(PATH_LIBC_SRC)/msun/src/s_fmin.c \
144 $(PATH_LIBC_SRC)/msun/src/s_fminf.c \
145 $(PATH_LIBC_SRC)/msun/src/s_fminl.c \
146 $(PATH_LIBC_SRC)/msun/src/s_frexp.c \
147 $(PATH_LIBC_SRC)/msun/src/s_frexpf.c \
148 $(PATH_LIBC_SRC)/msun/src/s_frexpl.c \
149 $(PATH_LIBC_SRC)/msun/src/s_ilogb.c \
150 $(PATH_LIBC_SRC)/msun/src/s_ilogbf.c \
151 $(PATH_LIBC_SRC)/msun/src/s_ilogbl.c \
152 $(PATH_LIBC_SRC)/msun/src/s_isfinite.c \
153 $(PATH_LIBC_SRC)/msun/src/s_isnan.c \
154 $(PATH_LIBC_SRC)/msun/src/s_isnormal.c \
155 $(PATH_LIBC_SRC)/msun/src/s_llrint.c \
156 $(PATH_LIBC_SRC)/msun/src/s_llrintf.c \
157 $(PATH_LIBC_SRC)/msun/src/s_llround.c \
158 $(PATH_LIBC_SRC)/msun/src/s_llroundf.c \
159 $(PATH_LIBC_SRC)/msun/src/s_llroundl.c \
160 $(PATH_LIBC_SRC)/msun/src/s_log1p.c \
161 $(PATH_LIBC_SRC)/msun/src/s_log1pf.c \
162 $(PATH_LIBC_SRC)/msun/src/s_logb.c \
163 $(PATH_LIBC_SRC)/msun/src/s_logbf.c \
164 $(PATH_LIBC_SRC)/msun/src/s_lrint.c \
165 $(PATH_LIBC_SRC)/msun/src/s_lrintf.c \
166 $(PATH_LIBC_SRC)/msun/src/s_lround.c \
167 $(PATH_LIBC_SRC)/msun/src/s_lroundf.c \
168 $(PATH_LIBC_SRC)/msun/src/s_lroundl.c \
169 $(PATH_LIBC_SRC)/msun/src/s_modf.c \
170 $(PATH_LIBC_SRC)/msun/src/s_modff.c \
171 $(PATH_LIBC_SRC)/msun/src/s_nearbyint.c \
172 $(PATH_LIBC_SRC)/msun/src/s_nextafter.c \
173 $(PATH_LIBC_SRC)/msun/src/s_nextafterf.c \
174 $(PATH_LIBC_SRC)/msun/src/s_nextafterl.c \
175 $(PATH_LIBC_SRC)/msun/src/s_nexttoward.c \
176 $(PATH_LIBC_SRC)/msun/src/s_nexttowardf.c \
177 $(PATH_LIBC_SRC)/msun/src/s_remquo.c \
178 $(PATH_LIBC_SRC)/msun/src/s_remquof.c \
179 $(PATH_LIBC_SRC)/msun/src/s_rint.c \
180 $(PATH_LIBC_SRC)/msun/src/s_rintf.c \
181 $(PATH_LIBC_SRC)/msun/src/s_round.c \
182 $(PATH_LIBC_SRC)/msun/src/s_roundf.c \
183 $(PATH_LIBC_SRC)/msun/src/s_roundl.c \
184 $(PATH_LIBC_SRC)/msun/src/s_scalbln.c \
185 $(PATH_LIBC_SRC)/msun/src/s_scalbn.c \
186 $(PATH_LIBC_SRC)/msun/src/s_scalbnf.c \
187 $(PATH_LIBC_SRC)/msun/src/s_scalbnl.c \
188 $(PATH_LIBC_SRC)/msun/src/s_signbit.c \
189 $(PATH_LIBC_SRC)/msun/src/s_signgam.c \
190 $(PATH_LIBC_SRC)/msun/src/s_significand.c \
191 $(PATH_LIBC_SRC)/msun/src/s_significandf.c \
192 $(PATH_LIBC_SRC)/msun/src/s_sin.c \
193 $(PATH_LIBC_SRC)/msun/src/s_sinf.c \
194 $(PATH_LIBC_SRC)/msun/src/s_tan.c \
195 $(PATH_LIBC_SRC)/msun/src/s_tanf.c \
196 $(PATH_LIBC_SRC)/msun/src/s_tanh.c \
197 $(PATH_LIBC_SRC)/msun/src/s_tanhf.c \
198 $(PATH_LIBC_SRC)/msun/src/s_trunc.c \
199 $(PATH_LIBC_SRC)/msun/src/s_truncf.c \
200 $(PATH_LIBC_SRC)/msun/src/s_truncl.c \
201 $(PATH_LIBC_SRC)/msun/src/w_cabs.c \
202 $(PATH_LIBC_SRC)/msun/src/w_cabsf.c \
203 $(PATH_LIBC_SRC)/msun/src/w_drem.c \
204 $(PATH_LIBC_SRC)/msun/src/w_dremf.c \
205
206MSUN_ARCH.x86 := \
207 $(PATH_LIBC_SRC)/msun/i387/fenv.c \
208 $(PATH_LIBC_SRC)/msun/i387/e_exp.S \
209 $(PATH_LIBC_SRC)/msun/i387/e_fmod.S \
210 $(PATH_LIBC_SRC)/msun/i387/e_log.S \
211 $(PATH_LIBC_SRC)/msun/i387/e_log10.S \
212 $(PATH_LIBC_SRC)/msun/i387/e_log10f.S \
213 $(PATH_LIBC_SRC)/msun/i387/e_logf.S \
214 $(PATH_LIBC_SRC)/msun/i387/e_remainder.S \
215 $(PATH_LIBC_SRC)/msun/i387/e_remainderf.S \
216 $(PATH_LIBC_SRC)/msun/i387/e_scalb.S \
217 $(PATH_LIBC_SRC)/msun/i387/e_scalbf.S \
218 $(PATH_LIBC_SRC)/msun/i387/e_sqrt.S \
219 $(PATH_LIBC_SRC)/msun/i387/e_sqrtf.S \
220 $(PATH_LIBC_SRC)/msun/i387/s_ceil.S \
221 $(PATH_LIBC_SRC)/msun/i387/s_ceilf.S \
222 $(PATH_LIBC_SRC)/msun/i387/s_ceill.S \
223 $(PATH_LIBC_SRC)/msun/i387/s_copysign.S \
224 $(PATH_LIBC_SRC)/msun/i387/s_copysignf.S \
225 $(PATH_LIBC_SRC)/msun/i387/s_copysignl.S \
226 $(PATH_LIBC_SRC)/msun/i387/s_cos.S \
227 $(PATH_LIBC_SRC)/msun/i387/s_finite.S \
228 $(PATH_LIBC_SRC)/msun/i387/s_floor.S \
229 $(PATH_LIBC_SRC)/msun/i387/s_floorf.S \
230 $(PATH_LIBC_SRC)/msun/i387/s_floorl.S \
231 $(PATH_LIBC_SRC)/msun/i387/s_llrint.S \
232 $(PATH_LIBC_SRC)/msun/i387/s_llrintf.S \
233 $(PATH_LIBC_SRC)/msun/i387/s_logb.S \
234 $(PATH_LIBC_SRC)/msun/i387/s_logbf.S \
235 $(PATH_LIBC_SRC)/msun/i387/s_lrint.S \
236 $(PATH_LIBC_SRC)/msun/i387/s_lrintf.S \
237 $(PATH_LIBC_SRC)/msun/i387/s_remquo.S \
238 $(PATH_LIBC_SRC)/msun/i387/s_remquof.S \
239 $(PATH_LIBC_SRC)/msun/i387/s_rint.S \
240 $(PATH_LIBC_SRC)/msun/i387/s_rintf.S \
241 $(PATH_LIBC_SRC)/msun/i387/s_scalbn.S \
242 $(PATH_LIBC_SRC)/msun/i387/s_scalbnf.S \
243 $(PATH_LIBC_SRC)/msun/i387/s_scalbnl.S \
244 $(PATH_LIBC_SRC)/msun/i387/s_significand.S \
245 $(PATH_LIBC_SRC)/msun/i387/s_significandf.S \
246 $(PATH_LIBC_SRC)/msun/i387/s_sin.S \
247 $(PATH_LIBC_SRC)/msun/i387/s_tan.S \
248 $(PATH_LIBC_SRC)/msun/i387/s_trunc.S \
249 $(PATH_LIBC_SRC)/msun/i387/s_truncf.S \
250 $(PATH_LIBC_SRC)/msun/i387/s_truncl.S \
251
252MSUN_ARCH_ELSEWHERE.x86 = \
253 s_modf.S \
254 s_fabs.S
255
256# select the sources we need.
257$(foreach archsrc,$(basename $(notdir $(MSUN_ARCH.$(BUILD_TARGET_ARCH)) $(MSUN_ARCH_ELSEWHERE.$(BUILD_TARGET_ARCH)))) \
258 ,$(eval libc_msun_SOURCES := $(filter-out %/$(archsrc).c,$(libc_msun_SOURCES))))
259libc_msun_SOURCES += $(MSUN_ARCH.$(BUILD_TARGET_ARCH))
260
261# configure the variants. */
262$(call LIBC_CONFIG_VARIANT_LIBS,libc_msun)
263
264# posixerate rules
265include $(PATH_KBUILD)/subfooter.kmk
266
Note: See TracBrowser for help on using the repository browser.