1 include $(TOP)/config/make.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_log10 math/e_log10f \
56 math/e_pow math/e_powf \
57 math/e_rem_pio2 math/e_rem_pio2f \
58 math/e_remainder math/e_remainderf \
59 math/e_scalb math/e_scalbf \
60 math/e_sinh math/e_sinhf \
61 math/e_sqrt math/e_sqrtf \
62 math/k_cos math/k_cosf \
63 math/k_rem_pio2 math/k_rem_pio2f \
64 math/k_sin math/k_sinf \
65 math/k_tan math/k_tanf \
67 math/s_asinh math/s_asinhf \
68 math/s_atan math/s_atanf \
69 math/s_cbrt math/s_cbrtf \
70 math/s_ceil math/s_ceilf math/s_ceill \
71 math/s_cimag math/s_cimagf math/s_cimagl \
72 math/s_conj math/s_conjf math/s_conjl \
73 math/s_copysign math/s_copysignf math/s_copysignl \
74 math/s_cos math/s_cosf \
75 math/s_creal math/s_crealf math/s_creall \
76 math/s_erf math/s_erff \
77 math/s_exp2 math/s_exp2f \
78 math/s_expm1 math/s_expm1f \
79 math/s_fabs math/s_fabsf math/s_fabsl \
81 math/s_floor math/s_floorf math/s_floorl \
82 math/s_fma math/s_fmaf \
83 math/s_fmax math/s_fmaxf math/s_fmaxl \
84 math/s_fmin math/s_fminf math/s_fminl \
85 math/s_frexp math/s_frexpf \
86 math/s_ilogb math/s_ilogbf math/s_ilogbl \
88 math/s_isinf math/s_isinff \
91 math/s_log1p math/s_log1pf \
92 math/s_logb math/s_logbf \
93 math/s_modf math/s_modff math/s_modfl \
95 math/s_nextafter math/s_nextafterf \
97 math/s_remquo math/s_remquof \
98 math/s_rint math/s_rintf math/s_lrint math/s_lrintf math/s_llrint math/s_llrintf \
99 math/s_round math/s_roundf math/s_roundl math/s_lround math/s_lroundf math/s_lroundl \
100 math/s_llround math/s_llroundf math/s_llroundl \
102 math/s_scalbn math/s_scalbnf \
104 math/s_significand math/s_significandf \
105 math/s_sin math/s_sinf \
106 math/s_tan math/s_tanf \
107 math/s_tanh math/s_tanhf \
108 math/s_trunc math/s_truncf math/s_truncl \
109 math/sincos math/sincosf math/sincosl \
110 math/w_cabs math/w_cabsf \
184 # If long double != double use these; otherwise, we alias the double versions
185 # These are architectures that have LDBL_MANT_DIG == 53 in float.h
186 # XXX use configure to determine this
187 ifneq ($(AROS_TARGET_CPU), ppc)
188 ifneq ($(AROS_TARGET_CPU), arm)
189 STDC += math/s_fmal math/s_frexpl math/s_nextafterl math/s_nexttoward math/s_scalbnl
197 # The common files will be put both in the shared and in the static link lib
200 __stdc_getsigngamptr \
248 # The common files will be put both in the shared and in the static link lib
252 #MM- core-linklibs : linklibs-stdc linklibs-stdcio linklibs-libm
254 STDC_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDC_COMMON))))
256 USER_CFLAGS := -noposixc -Dlint '-D__FBSDID(x)='
257 USER_LDFLAGS := -nostdc -noposixc
259 # Ugh. These are for the math routines, which have a number of
261 USER_CFLAGS += -Wno-unused-variable -Wno-parentheses -Wno-uninitialized
263 %build_module mmake=compiler-stdc \
264 modname=stdc modtype=library \
265 files="$(STDC) $(STDC_COMMON)" \
266 linklibfiles=$(STDC_LINKLIB) linklibobjs=$(STDC_LINKOBJS)
268 STDCIO_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDCIO_COMMON))))
270 %build_module mmake=compiler-stdcio \
271 modname=stdcio modtype=library \
272 files="$(STDCIO) $(STDCIO_COMMON)" \
273 linklibobjs=$(STDCIO_LINKOBJS) \
283 math/s_copysign math/s_copysignf math/s_copysignl \
284 math/e_log math/e_logf \
285 math/e_log10 math/e_log10f \
286 math/e_pow math/e_powf \
287 math/s_scalbn math/s_scalbnf \
331 USER_CFLAGS := -DSTDC_STATIC
333 # Ugh. These are for the math routines, which have a number of
334 # lint issues, that should be fixed.
335 USER_CFLAGS += -Wno-unused-variable -Wno-parentheses -Wno-uninitialized
337 #MM- core-linklibs : linklibs-stdc-static
338 %build_linklib mmake=linklibs-stdc-static libname=stdc.static \
339 files="$(STDC_STATIC)" objdir=$(GENDIR)/$(CURDIR)/static
341 #MM- linklibs-romhack : compiler-stdc
342 # FIXME: The next romhack linklib is a temporary hack and has to be
343 # excommunicated in the future !
344 # setjmp()/longjmp() is used in dos.library so make it available.
345 # Plan to put stdc.library also in aros-base rom so this is not needed anymore
346 %build_linklib mmake=linklibs-romhack \
347 libname=romhack files="setjmp longjmp"
349 # x86_64 needs a 32bit version stdc.static
350 %build_linklib mmake=linklibs-stdc-static32 \
351 libname=stdc.static files="$(STDC_STATIC)" objs=$(ROM_COMMON_OBJ32) \
352 cflags="-m32 $(CFLAGS) -DSTDC_LIB32 -DSTDC_STATIC" \
353 objdir=$(GENDIR)/$(CURDIR)/32bit libdir=$(GENDIR)/lib32
355 # A dummy libm.a is provided so that -lm link option does not produce an error
356 # objdir is provided to avoid that arch specific files end up in libm.a
357 %build_linklib mmake=linklibs-libm \
358 libname=m files=empty objdir=$(GENDIR)/$(CURDIR)/libm