Subversion Repositories Kolibri OS

Rev

Rev 3065 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1906 serge 1
 
2
3
 
4
LDFLAGS = -nostdlib -shared -s -T libcdll.lds --out-implib libcimp.a --image-base 0
3065 serge 5
1906 serge 6
 
7
LIBC_INCLUDES = $(LIBC_TOPDIR)/include
8
9
 
10
11
 
3362 Serge 12
1906 serge 13
 
3065 serge 14
1906 serge 15
 
3065 serge 16
         		crt/crt_amz.S        	\
17
         		crt/chkstk.S         	\
18
         		crt/exit.S           	\
19
		crt/pseudo-reloc.c	\
20
		crt/dllstart.c 	\
21
		crt/setjmp.S
22
1906 serge 23
 
3065 serge 24
         		crt/start.S		\
25
         		crt/crt1.c		\
26
         		crt/chkstk.S	\
27
         		crt/exit.S		\
28
		crt/setjmp.S
29
1906 serge 30
 
3065 serge 31
		crt/crtdll.c		\
32
		crt/chkstk.S	\
33
		crt/exit.S		\
34
		crt/setjmp.S	\
35
		pe/loader.c
36
37
 
38
			argz/buf_findstr.c	\
1906 serge 39
			argz/envz_get.c		\
40
         crt/emutls.c         \
3065 serge 41
         crt/thread.S         \
42
         crt/tls.S            \
43
         crt/assert.c         \
44
			crt/cpu_features.c	\
1906 serge 45
			ctype/ctype_.c 		\
46
			ctype/isascii.c		\
47
			ctype/isblank.c		\
48
         ctype/isalnum.c      \
3065 serge 49
         ctype/isalpha.c      \
50
         ctype/iscntrl.c      \
51
         ctype/isdigit.c      \
52
         ctype/islower.c      \
53
         ctype/isupper.c      \
54
         ctype/isprint.c      \
55
         ctype/ispunct.c      \
56
         ctype/isspace.c      \
57
         ctype/iswctype.c     \
58
         ctype/iswalnum.c     \
59
         ctype/iswalpha.c     \
60
         ctype/iswblank.c     \
61
         ctype/iswcntrl.c     \
62
         ctype/iswdigit.c     \
63
         ctype/iswgraph.c     \
64
         ctype/iswlower.c     \
65
         ctype/iswprint.c     \
66
         ctype/iswpunct.c     \
67
         ctype/iswspace.c     \
68
         ctype/iswupper.c     \
69
         ctype/iswxdigit.c    \
70
         ctype/isxdigit.c     \
71
			ctype/toascii.c		\
1906 serge 72
         ctype/tolower.c      \
3065 serge 73
			ctype/toupper.c		\
1906 serge 74
         ctype/towctrans.c    \
3065 serge 75
         ctype/towlower.c     \
76
         ctype/towupper.c     \
77
			ctype/wctrans.c		\
1906 serge 78
         ctype/wctype.c       \
3065 serge 79
         errno/errno.c        \
80
			locale/locale.c		\
1906 serge 81
			locale/lctype.c		\
82
         reent/impure.c       \
3065 serge 83
         reent/getreent.c     \
84
			reent/gettimeofdayr.c	\
1906 serge 85
         reent/hdlman.c       \
3065 serge 86
			reent/isattyr.c		\
1906 serge 87
         reent/openr.c        \
3065 serge 88
         reent/closer.c       \
89
         reent/readr.c        \
90
         reent/lseekr.c       \
91
         reent/fstatr.c       \
92
         reent/writer.c       \
93
         search/qsort.c       \
94
         search/bsearch.c     \
95
			signal/signal.c		\
1906 serge 96
         sys/create.c         \
3065 serge 97
         sys/delete.c         \
98
         sys/finfo.c          \
99
         sys/read.c           \
100
         sys/write.c          \
101
         sys/fsize.c          \
102
         sys/fload.c          \
103
         time/asctime.c       \
104
         time/asctime_r.c     \
105
         time/clock.c         \
106
         time/ctime.c         \
107
         time/ctime_r.c       \
108
			time/difftime.c		\
1906 serge 109
         time/gettzinfo.c     \
3065 serge 110
         time/gmtime.c        \
111
			time/gmtime_r.c		\
1906 serge 112
         time/mktime.c        \
3065 serge 113
         time/mktm_r.c        \
114
         time/lcltime.c       \
115
         time/lcltime_r.c     \
116
			time/strftime.c		\
1906 serge 117
         time/time.c          \
3065 serge 118
         time/tzlock.c        \
119
         time/tzvars.c        \
120
			unpack/unpacker.asm
121
1906 serge 122
 
123
 
3065 serge 124
         		__atexit.c          	\
125
         		__call_atexit.c     	\
126
         		abort.c              	\
127
         		abs.c               	\
128
         		atof.c              	\
129
         		atoi.c              	\
130
		atol.c		\
131
         		div.c               	\
132
         		dtoa.c               	\
133
         		dtoastub.c          	\
134
         		exit.c              	\
135
         		gdtoa-gethex.c      	\
136
         		gdtoa-hexnan.c       	\
137
         		getenv.c             	\
138
         		mprec.c              	\
139
         		mbtowc.c             	\
140
         		mbtowc_r.c           	\
141
         		mbrtowc.c           	\
142
         		mlock.c              	\
143
         		calloc.c             	\
144
         		malloc.c             	\
145
        		mallocr.c           	\
146
        		 rand.c               	\
147
         		rand_r.c            	\
148
         		rand48.c            	\
149
         		realloc.c            	\
150
         		seed48.c             	\
151
         		srand48.c            	\
152
         		strtod.c            	\
153
         		strtol.c             	\
154
         		strtold.c            	\
155
         		strtoll.c            	\
156
         		strtoll_r.c         	\
157
         		strtoul.c            	\
158
         		strtoull.c           	\
159
         		strtoull_r.c        	\
160
         		system.c            	\
161
         		wcrtomb.c           	\
162
		wctomb_r.c
163
1906 serge 164
 
165
 
3065 serge 166
         memcmp.c             \
167
         memmove.c            \
168
         memset.c             \
169
         memchr.c             \
170
         strcat.c             \
171
         strchr.c             \
172
         strcmp.c             \
173
         strcoll.c            \
174
         strcasecmp.c         \
175
         strncasecmp.c        \
176
         strncat.c            \
177
         strncmp.c            \
178
         strncpy.c            \
179
         strndup.c            \
180
         strndup_r.c          \
181
         strnlen.c            \
182
         strcasestr.c         \
183
         strdup.c             \
184
         strdup_r.c           \
185
         strerror.c           \
186
         strlen.c             \
187
         strrchr.c            \
188
         strpbrk.c            \
189
         strsep.c             \
190
         strstr.c             \
191
         strtok.c             \
192
         strtok_r.c           \
193
         strupr.c             \
194
         strcspn.c            \
195
         strspn.c             \
196
         strcpy.c             \
197
			u_strerr.c
1906 serge 198
199
 
200
			clearerr.c		\
3065 serge 201
			diprintf.c		\
202
			dprintf.c		\
203
			printf.c		\
204
			putchar.c		\
205
			fgetc.c		\
206
			fgets.c		\
1906 serge 207
			fopen.c		\
208
			fclose.c		\
3065 serge 209
			fdopen.c		\
210
			fflush.c		\
211
			flags.c		\
1906 serge 212
			fileno.c		\
3065 serge 213
			findfp.c		\
214
			fiprintf.c		\
215
			fiscanf.c		\
216
			fprintf.c		\
217
			fputc.c		\
1906 serge 218
			fputs.c		\
219
			fputwc.c		\
3065 serge 220
			fread.c		\
1906 serge 221
			freopen.c		\
3065 serge 222
			fscanf.c		\
223
			fseek.c		\
1906 serge 224
			fseeko.c		\
3065 serge 225
			ftell.c		\
1906 serge 226
			ftello.c		\
3065 serge 227
			fwrite.c		\
228
			fvwrite.c		\
229
			fwalk.c		\
1906 serge 230
			putc.c		\
231
			puts.c		\
232
			refill.c		\
3065 serge 233
			rget.c		\
1906 serge 234
			remove.c		\
3065 serge 235
			rename.c		\
236
			setvbuf.c		\
237
			stdio.c		\
1906 serge 238
			tmpfile.c		\
3065 serge 239
			tmpnam.c		\
240
			ungetc.c		\
241
			vscanf.c		\
242
			vsprintf.c		\
243
			vsnprintf.c	\
1906 serge 244
			vsscanf.c		\
3065 serge 245
			makebuf.c	\
1906 serge 246
			wsetup.c		\
3065 serge 247
			wbuf.c		\
1906 serge 248
			sccl.c		\
249
			sniprintf.c		\
3065 serge 250
			snprintf.c		\
251
			sprintf.c		\
252
			sscanf.c
1906 serge 253
254
 
3065 serge 255
 
3362 Serge 256
		e_hypot.c e_j0.c e_j1.c e_jn.c e_log.c e_log10.c e_pow.c e_rem_pio2.c 		\
257
		e_remainder.c e_scalb.c e_sinh.c e_sqrt.c ef_acos.c ef_acosh.c ef_asin.c	\
258
		ef_atan2.c ef_atanh.c ef_cosh.c ef_exp.c ef_fmod.c ef_hypot.c ef_j0.c ef_j1.c	\
259
		ef_jn.c ef_log.c ef_log10.c ef_pow.c ef_rem_pio2.c ef_remainder.c ef_scalb.c	\
260
		ef_sinh.c ef_sqrt.c er_gamma.c er_lgamma.c erf_gamma.c erf_lgamma.c f_exp.c	\
261
		f_expf.c f_llrint.c f_llrintf.c f_llrintl.c f_lrint.c f_lrintf.c f_lrintl.c	\
262
		f_pow.c f_powf.c f_rint.c f_rintf.c f_rintl.c k_cos.c k_rem_pio2.c k_sin.c	\
263
		k_standard.c k_tan.c kf_cos.c kf_rem_pio2.c kf_sin.c kf_tan.c s_asinh.c 	\
264
		s_atan.c s_cbrt.c s_ceil.c s_copysign.c s_cos.c s_erf.c s_exp10.c s_expm1.c	\
265
		s_fabs.c s_fdim.c s_finite.c s_floor.c s_fma.c s_fmax.c s_fmin.c s_fpclassify.c	\
266
		s_frexp.c s_ilogb.c s_infconst.c s_infinity.c s_isinf.c s_isinfd.c s_isnan.c	\
267
		s_isnand.c s_ldexp.c s_lib_ver.c s_llrint.c s_llround.c s_log1p.c s_log2.c	\
268
		s_logb.c s_lrint.c s_lround.c s_matherr.c s_modf.c s_nan.c s_nearbyint.c	\
269
		s_nextafter.c s_pow10.c s_remquo.c s_rint.c s_round.c s_scalbln.c s_scalbn.c	\
270
		s_signbit.c s_signif.c s_sin.c s_tan.c s_tanh.c s_trunc.c scalblnl.c scalbnl.c	\
271
		sf_asinh.c sf_atan.c sf_cbrt.c sf_ceil.c sf_copysign.c sf_cos.c sf_erf.c 	\
272
		sf_exp10.c sf_expm1.c sf_fabs.c sf_fdim.c sf_finite.c sf_floor.c sf_fma.c	\
273
		sf_fmax.c sf_fmin.c sf_fpclassify.c sf_frexp.c sf_ilogb.c sf_infinity.c		\
274
		sf_isinf.c sf_isinff.c sf_isnan.c sf_isnanf.c sf_ldexp.c sf_llrint.c		\
275
		sf_llround.c sf_log1p.c sf_log2.c sf_logb.c sf_lrint.c sf_lround.c sf_modf.c	\
276
		sf_nan.c sf_nearbyint.c sf_nextafter.c sf_pow10.c sf_remquo.c sf_rint.c		\
277
		sf_round.c sf_scalbln.c sf_scalbn.c sf_signif.c sf_sin.c sf_tan.c sf_tanh.c	\
278
		sf_trunc.c w_acos.c w_acosh.c w_asin.c w_atan2.c w_atanh.c w_cosh.c w_drem.c	\
279
		w_exp.c w_exp2.c w_fmod.c w_gamma.c w_hypot.c w_j0.c w_j1.c w_jn.c w_lgamma.c	\
280
		w_log.c w_log10.c w_pow.c w_remainder.c w_scalb.c w_sincos.c w_sinh.c w_sqrt.c	\
281
		w_tgamma.c wf_acos.c wf_acosh.c wf_asin.c wf_atan2.c wf_atanh.c wf_cosh.c	\
282
		wf_drem.c wf_exp.c wf_exp2.c wf_fmod.c wf_gamma.c wf_hypot.c wf_j0.c wf_j1.c	\
283
		wf_jn.c wf_lgamma.c wf_log.c wf_log10.c wf_pow.c wf_remainder.c wf_scalb.c	\
284
		wf_sincos.c wf_sinh.c wf_sqrt.c wf_tgamma.c wr_gamma.c wr_lgamma.c wrf_gamma.c	\
285
		wrf_lgamma.c	\
286
		f_atan2.S f_atan2f.S f_frexp.S f_frexpf.S f_ldexp.S f_ldexpf.S f_log.S		\
287
		f_log10.S f_log10f.S f_logf.S f_tan.S f_tanf.S
288
1906 serge 289
 
290
 
1908 serge 291
1906 serge 292
 
293
294
 
295
296
 
297
            $(patsubst %.c, %.o, $(CORE_SRCS))))
298
299
 
300
301
 
302
 
303
               $(patsubst %.c, string/%.o, $(STRING_SRCS))))
304
305
 
306
               $(patsubst %.c, stdlib/%.o, $(STDLIB_SRCS))))
307
308
 
309
 
310
               $(patsubst %.c, math/%.o, $(MATH_SRCS))))
311
312
 
313
 
314
		stdio/vfiprintf.o	\
315
		stdio/svfprintf.o	\
316
		stdio/svfiprintf.o	\
317
		stdio/vfscanf.o		\
318
		stdio/vfiscanf.o	\
319
		stdio/svscanf.o		\
320
		stdio/svfiscanf.o
321
322
 
323
324
 
325
LIB_OBJS:=  	$(STATIC_OBJS)
326
327
 
328
329
 
330
LIB_OBJS:=  	$(DLL_OBJS)
331
332
 
333
334
 
335
		$(CORE_SRCS)		\
336
		$(STDIO_SRCS) 		\
337
		$(STRING_SRCS)		\
338
		$(STDLIB_SRCS)
339
340
 
341
		$(CORE_OBJS) 		\
342
		$(STRING_OBJS) 		\
343
		$(STDLIB_OBJS)		\
344
		$(STDIO_OBJS) 		\
345
		$(PRINTF_OBJS) 		\
346
		$(MATH_OBJS)
347
348
 
349
 
350
 
1907 serge 351
1906 serge 352
 
353
 
354
	ld $(LDFLAGS) -L. -o $@ $(LIB_OBJS) -lgcc
355
356
 
357
 
358
	ar rc libamz.a $(AMZ_OBJS)
359
360
 
1907 serge 361
	fasm pe/libc.asm ./libc.obj
362
1906 serge 363
 
1907 serge 364
 
1906 serge 365
366
 
367
	ar rc $(NAME).a $(LIB_OBJS)
368
369
 
370
 
371
 
372
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DFLOATING_POINT -c stdio/vfprintf.c -o $@
373
374
 
375
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DINTEGER_ONLY -c stdio/vfprintf.c -o $@
376
377
 
378
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DSTRING_ONLY -c stdio/vfprintf.c -o $@
379
380
 
381
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c stdio/vfprintf.c -o $@
382
383
 
384
 
385
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES)	stdio/vfscanf.c -o $@
386
387
 
388
	$(CC) $(CFLAGS) $(DEFINES) -DINTEGER_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
389
390
 
391
	$(CC) $(CFLAGS) $(DEFINES) -DSTRING_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
392
393
 
394
 
395
	$(CC) $(CFLAGS) $(DEFINES) -DINTEGER_ONLY -DSTRING_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
396
397
 
398
 
399
 
400
	fasm $< $
3362 Serge 401
1906 serge 402
 
403
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
404
405
 
406
 
3065 serge 407
	-rm -f */*.o
408
1906 serge 409
 
410
 
3362 Serge 411
 
412