posixc.library: fgets.c tabs->spaces
[AROS.git] / compiler / stdc / mmakefile.src
blob9c780933d78ee32aa27f7a20837937c76e8210d9
1 include $(TOP)/config/make.cfg
3 #MM- AROS : compiler-stdc compiler-stdcio
5 STDC := \
6     __ctype \
7     __exitfunc \
8     __optionallibs \
9     __signal \
10     __stdc_assert \
11     __stdc_gmtoffset \
12     __stdc_ioerr2errno \
13     __stdc_startup \
14     __vcformat \
15     __vcscan \
16     _exit \
17     abort \
18     abs labs llabs \
19     asctime asctime_r \
20     atexit \
21     atof \
22     atoi \
23     atol \
24     bsearch \
25     calloc \
26     clock \
27     ctime ctime_r \
28     difftime \
29     div ldiv lldiv \
30     exit \
31     fenv _fenv \
32     free \
33     getc \
34     gmtime gmtime_r \
35     localeconv \
36     localtime localtime_r \
37     longjmp \
38     malloc \
39     malloc_align \
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 \
66     math/nan \
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 \
80     math/s_fdim \
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 \
87     math/s_isfinite \
88     math/s_isinf  math/s_isinff \
89     math/s_isnan \
90     math/s_isnormal \
91     math/s_log1p  math/s_log1pf \
92     math/s_logb  math/s_logbf \
93     math/s_modf  math/s_modff  math/s_modfl \
94     math/s_nearbyint \
95     math/s_nextafter  math/s_nextafterf  \
96     math/s_nexttowardf \
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 \
101     math/s_scalbln \
102     math/s_scalbn  math/s_scalbnf  \
103     math/s_signbit \
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 \
111     mblen \
112     memchr \
113     memcmp \
114     memcpy \
115     memmove \
116     memset \
117     mktime \
118     on_exit \
119     putc \
120     qsort \
121     raise \
122     rand \
123     realloc \
124     realloc_nocopy \
125     setjmp \
126     setlocale \
127     signal \
128     snprintf \
129     sprintf \
130     sscanf \
131     stccpy \
132     stcd_l \
133     stch_l \
134     stcl_d \
135     stcl_h \
136     stcl_o \
137     stco_l \
138     stcu_d \
139     stpblk \
140     stpcpy \
141     stpsym \
142     strcasecmp \
143     strcat \
144     strchr \
145     strcmp \
146     strcoll \
147     strcpy \
148     strcspn \
149     strdup \
150     strerror \
151     strftime \
152     strlcat \
153     strlcpy \
154     strlen \
155     strlwr \
156     strncasecmp \
157     strncat \
158     strncmp \
159     strncpy \
160     strndup \
161     strpbrk \
162     strrchr \
163     strrev \
164     strsep \
165     strspn \
166     strstr \
167     strtod \
168     strtoimax \
169     strtok \
170     strtok_r \
171     strtol \
172     strtoll \
173     strtoul \
174     strtoull \
175     strtoumax \
176     strupr \
177     strxfrm \
178     time \
179     vsnprintf \
180     vsprintf \
181     vsscanf
183 # If long double != double use these; otherwise, we alias the double versions
184 # These are architectures that have LDBL_MANT_DIG == 53 in float.h
185 # XXX use configure to determine this
186 ifneq ($(AROS_TARGET_CPU), ppc)
187 ifneq ($(AROS_TARGET_CPU), arm)
188 STDC += math/s_fmal math/s_frexpl math/s_nextafterl math/s_nexttoward math/s_scalbnl
189 endif
190 endif
192 STDC_LINKLIB := \
193     __ctype_linklib \
194     strcasestr
196 # The common files will be put both in the shared and in the static link lib
197 STDC_COMMON := \
198     __stdc_geterrnoptr \
199     __stdc_getsigngamptr \
200     __stdc_mb_cur_max \
201     math/infinity
203 STDCIO := \
204     __stdcio_assert \
205     __stdcio_init \
206     __stdio \
207     clearerr \
208     fclose \
209     feof \
210     ferror \
211     fflush \
212     fgetc \
213     fgetpos \
214     fgets \
215     fopen \
216     fprintf \
217     fputc \
218     fputs \
219     fread \
220     freopen \
221     fscanf \
222     fseek \
223     fsetpos \
224     ftell \
225     fwrite \
226     getchar \
227     getenv \
228     gets \
229     printf \
230     putchar \
231     puts \
232     remove \
233     rename \
234     rewind \
235     scanf \
236     setbuf \
237     setvbuf \
238     system \
239     tmpfile \
240     tmpnam \
241     ungetc \
242     vfprintf \
243     vfscanf \
244     vprintf \
245     vscanf
247 # The common files will be put both in the shared and in the static link lib
248 STDCIO_COMMON := \
249     __stdcio_stdstreams
251 #MM- core-linklibs : linklibs-stdc linklibs-stdcio linklibs-libm
253 STDC_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDC_COMMON))))
255 USER_CFLAGS := -noposixc -Dlint '-D__FBSDID(x)='
256 USER_LDFLAGS := -nostdc -noposixc
258 # Ugh. These are for the math routines, which have a number of
259 # lint issues.
260 USER_CFLAGS += -Wno-unused-variable -Wno-parentheses -Wno-uninitialized
262 %build_module mmake=compiler-stdc \
263     modname=stdc modtype=library \
264     files="$(STDC) $(STDC_COMMON)" \
265     linklibfiles=$(STDC_LINKLIB) linklibobjs=$(STDC_LINKOBJS)
267 STDCIO_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/,$(notdir $(STDCIO_COMMON))))
269 %build_module mmake=compiler-stdcio \
270     modname=stdcio modtype=library \
271     files="$(STDCIO) $(STDCIO_COMMON)" \
272     linklibobjs=$(STDCIO_LINKOBJS) \
273     uselibs="stdc_rel"
275 STDC_STATIC := \
276     __ctype \
277     __vcformat \
278     __vcscan \
279     atoi \
280     atol \
281     bsearch \
282     math/e_sqrt \
283     memchr \
284     memcmp \
285     memcpy \
286     memmove \
287     memset \
288     qsort \
289     snprintf \
290     sprintf \
291     sscanf \
292     stccpy \
293     stpblk \
294     strcasecmp \
295     strcasestr \
296     strcat \
297     stcd_l \
298     stch_l \
299     stcl_d \
300     stcl_h \
301     stcl_o \
302     stco_l \
303     stcu_d \
304     stpcpy \
305     strchr \
306     strcmp \
307     strcpy \
308     strcspn \
309     strlcat \
310     strlcpy \
311     strlen \
312     strncasecmp \
313     strncat \
314     strncpy \
315     strncmp \
316     strpbrk \
317     strrchr \
318     strstr \
319     strtol \
320     strtoul \
321     vsnprintf \
322     vsprintf \
323     vsscanf
325 USER_CFLAGS := -DSTDC_STATIC
327 # Ugh. These are for the math routines, which have a number of
328 # lint issues, that should be fixed.
329 USER_CFLAGS += -Wno-unused-variable -Wno-parentheses -Wno-uninitialized
331 #MM- core-linklibs : linklibs-stdc-static
332 %build_linklib mmake=linklibs-stdc-static libname=stdc.static \
333     files="$(STDC_STATIC)" objdir=$(GENDIR)/$(CURDIR)/static
335 #MM- linklibs-romhack : compiler-stdc
336 # FIXME: The next romhack linklib is a temporary hack and has to be
337 # excommunicated in the future !
338 # setjmp()/longjmp() is used in dos.library so make it available.
339 # Plan to put stdc.library also in aros-base rom so this is not needed anymore
340 %build_linklib mmake=linklibs-romhack \
341     libname=romhack files="setjmp longjmp"
343 # x86_64 needs a 32bit version stdc.static
344 %build_linklib mmake=linklibs-stdc-static32 \
345     libname=stdc.static files="$(STDC_STATIC)" objs=$(ROM_COMMON_OBJ32) \
346     cflags="-m32 $(CFLAGS) -DSTDC_LIB32 -DSTDC_STATIC" \
347     objdir=$(GENDIR)/$(CURDIR)/32bit libdir=$(GENDIR)/lib32
349 # A dummy libm.a is provided so that -lm link option does not produce an error
350 # objdir is provided to avoid that arch specific files end up in libm.a
351 %build_linklib mmake=linklibs-libm \
352     libname=m files=empty objdir=$(GENDIR)/$(CURDIR)/libm