1 include $(SRCDIR)/config/aros.cfg
3 #MM- AROS : compiler-stdc compiler-stdcio
36 localtime localtime_r \
40 math/e_acos math/e_acosf \
41 math/e_acosh math/e_acoshf \
42 math/e_asin math/e_asinf \
43 math/e_atan2 math/e_atan2f \
44 math/e_atanh math/e_atanhf \
45 math/e_cosh math/e_coshf \
46 math/e_exp math/e_expf \
47 math/e_fmod math/e_fmodf \
48 math/e_gamma math/e_gammaf math/e_gamma_r math/e_gammaf_r \
49 math/e_hypot math/e_hypotf \
50 math/e_j0 math/e_j0f \
51 math/e_j1 math/e_j1f \
52 math/e_jn math/e_jnf \
53 math/e_lgamma math/e_lgammaf math/e_lgamma_r math/e_lgammaf_r \
54 math/e_log math/e_logf \
55 math/e_log2 math/e_log2f \
56 math/e_log10 math/e_log10f \
57 math/e_pow math/e_powf \
58 math/e_rem_pio2 math/e_rem_pio2f \
59 math/e_remainder math/e_remainderf \
60 math/e_scalb math/e_scalbf \
61 math/e_sinh math/e_sinhf \
62 math/e_sqrt math/e_sqrtf \
63 math/k_cos math/k_cosf \
64 math/k_rem_pio2 math/k_rem_pio2f \
65 math/k_sin math/k_sinf \
66 math/k_tan math/k_tanf \
68 math/s_asinh math/s_asinhf \
69 math/s_atan math/s_atanf \
70 math/s_cbrt math/s_cbrtf \
71 math/s_ceil math/s_ceilf math/s_ceill \
72 math/s_cimag math/s_cimagf math/s_cimagl \
73 math/s_conj math/s_conjf math/s_conjl \
74 math/s_copysign math/s_copysignf math/s_copysignl \
75 math/s_cos math/s_cosf \
76 math/s_creal math/s_crealf math/s_creall \
77 math/s_erf math/s_erff \
78 math/s_exp2 math/s_exp2f \
79 math/s_expm1 math/s_expm1f \
80 math/s_fabs math/s_fabsf math/s_fabsl \
82 math/s_floor math/s_floorf math/s_floorl \
83 math/s_fma math/s_fmaf \
84 math/s_fmax math/s_fmaxf math/s_fmaxl \
85 math/s_fmin math/s_fminf math/s_fminl \
86 math/s_frexp math/s_frexpf \
87 math/s_ilogb math/s_ilogbf math/s_ilogbl \
89 math/s_isinf math/s_isinff \
92 math/s_log1p math/s_log1pf \
93 math/s_logb math/s_logbf \
94 math/s_modf math/s_modff math/s_modfl \
96 math/s_nextafter math/s_nextafterf \
98 math/s_remquo math/s_remquof \
99 math/s_rint math/s_rintf math/s_lrint math/s_lrintf math/s_llrint math/s_llrintf \
100 math/s_round math/s_roundf math/s_roundl math/s_lround math/s_lroundf math/s_lroundl \
101 math/s_llround math/s_llroundf math/s_llroundl \
103 math/s_scalbn math/s_scalbnf \
105 math/s_significand math/s_significandf \
106 math/s_sin math/s_sinf \
107 math/s_tan math/s_tanf \
108 math/s_tanh math/s_tanhf \
109 math/s_trunc math/s_truncf math/s_truncl \
110 math/sincos math/sincosf math/sincosl \
111 math/w_cabs math/w_cabsf \
186 # If long double != double use these; otherwise, we alias the double versions
187 # These are architectures that have LDBL_MANT_DIG == 53 in float.h
188 # XXX use configure to determine this
189 ifneq ($(AROS_TARGET_CPU), ppc)
190 ifneq ($(AROS_TARGET_CPU), arm)
191 STDC += math/s_fmal math/s_frexpl math/s_nextafterl math/s_nexttoward math/s_scalbnl
199 # The common files will be put both in the shared and in the static link lib
202 __stdc_getsigngamptr \
250 # The common files will be put both in the shared and in the static link lib
254 #MM- core-linklibs : linklibs-stdc linklibs-stdcio linklibs-libm
256 STDC_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDC_COMMON))))
258 # Ugh. These are for the math routines, which have a number of
259 # lint issues, that should be fixed.
260 NOWARN_FLAGS := $(NOWARN_NONNULL_COMPARE) $(NOWARN_UNUSED_VARIABLE) $(NOWARN_PARENTHESES) $(NOWARN_UNINITIALIZED)
262 USER_CFLAGS := $(NOWARN_FLAGS) -noposixc -Dlint '-D__FBSDID(x)='
263 USER_LDFLAGS := -nostdc -noposixc
265 %build_module mmake=compiler-stdc \
266 modname=stdc modtype=library \
267 files="$(STDC) $(STDC_COMMON)" \
268 linklibfiles=$(STDC_LINKLIB) linklibobjs=$(STDC_LINKOBJS)
270 STDCIO_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDCIO_COMMON))))
272 %build_module mmake=compiler-stdcio \
273 modname=stdcio modtype=library \
274 files="$(STDCIO) $(STDCIO_COMMON)" \
275 linklibobjs=$(STDCIO_LINKOBJS) \
285 math/s_copysign math/s_copysignf math/s_copysignl \
286 math/e_log math/e_logf \
287 math/e_log2 math/e_log2f \
288 math/e_log10 math/e_log10f \
289 math/e_pow math/e_powf \
293 math/s_cos math/s_floor \
294 math/s_scalbn math/s_scalbnf \
342 USER_CFLAGS := $(NOWARN_FLAGS) -DSTDC_STATIC -Dlint
344 #MM- core-linklibs : linklibs-stdc-static
345 %build_linklib mmake=linklibs-stdc-static libname=stdc.static \
346 files="$(STDC_STATIC)" objdir=$(GENDIR)/$(CURDIR)/static
348 #MM- linklibs-romhack : compiler-stdc
349 # FIXME: The next romhack linklib is a temporary hack and has to be
350 # excommunicated in the future !
351 # setjmp()/longjmp() is used in dos.library so make it available.
352 # Plan to put stdc.library also in aros-base rom so this is not needed anymore
353 %build_linklib mmake=linklibs-romhack \
354 libname=romhack files="setjmp longjmp"
356 CFLAGS32 := $(filter-out -mcmodel=large,$(CFLAGS))
358 # x86_64 needs a 32bit version stdc.static
359 %build_linklib mmake=linklibs-stdc-static32 \
360 libname=stdc.static files="$(STDC_STATIC)" objs=$(ROM_COMMON_OBJ32) \
361 cflags="-m32 $(CFLAGS32) -DSTDC_LIB32 -DSTDC_STATIC" \
362 objdir=$(GENDIR)/$(CURDIR)/32bit libdir=$(GENDIR)/lib32
364 # A dummy libm.a is provided so that -lm link option does not produce an error
365 # objdir is provided to avoid that arch specific files end up in libm.a
366 %build_linklib mmake=linklibs-libm \
367 libname=m files=empty objdir=$(GENDIR)/$(CURDIR)/libm