Subversion Repositories Kolibri OS

Rev

Rev 2040 | 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
 
3065 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
 
1906 serge 256
		asinl.c atan2f.c atan2l.c atanf.c atanh.c atanhf.c atanhl.c atanl.c cbrt.c \
257
		cbrtf.c cbrtl.c coshf.c coshl.c erfl.c expf.c expl.c expm1.c expm1f.c expm1l.c\
258
		fabs.c fabsf.c fabsl.c fdim.c fdimf.c fdiml.c fmal.c fmax.c fmaxf.c fmaxl.c\
259
		fmin.c fminf.c fminl.c fmodf.c fmodl.c fp_consts.c fp_constsf.c fp_constsl.c\
260
		fpclassify.c fpclassifyf.c fpclassifyl.c frexpf.c fucom.c hypotf.c isnan.c \
261
		isnanf.c isnanl.c ldexp.c ldexpf.c ldexpl.c lgamma.c lgammaf.c lgammal.c \
262
		llrint.c llrintf.c llrintl.c logb.c logbf.c logbl.c lrint.c lrintf.c lrintl.c\
263
		lround_generic.c modff.c modfl.c nextafterf.c nextafterl.c nexttoward.c \
264
		nexttowardf.c pow.c powf.c powi.c powif.c powil.c powl.c rint.c rintf.c \
265
		rintl.c round_generic.c s_erf.c sf_erf.c signbit.c signbitf.c signbitl.c \
266
		sinhf.c sinhl.c sqrtf.c sqrtl.c tanhf.c tanhl.c tgamma.c tgammaf.c tgammal.c \
267
		trunc.c truncf.c truncl.c e_sqrt.c e_sinh.c e_cosh.c e_hypot.c s_tanh.c	\
268
		s_roundf.c s_fpclassify.c s_isnand.c w_hypot.c s_modf.c e_atan2.c w_atan2.c\
269
		ceil.S ceilf.S ceill.S copysign.S copysignf.S copysignl.S cos.S cosf.S cosl.S exp.S exp2.S \
270
		exp2f.S exp2l.S floor.S floorf.S floorl.S fma.S fmaf.S frexp.S frexpl.S ilogb.S ilogbf.S \
271
		ilogbl.S log10.S log10f.S log10l.S log1p.S log1pf.S log1pl.S log2.S log2f.S log2l.S \
272
		log.S logf.S logl.S nearbyint.S nearbyintf.S nearbyintl.S remainder.S remainderf.S \
273
		remainderl.S remquo.S remquof.S remquol.S scalbn.S scalbnf.S scalbnl.S sin.S \
274
		sinf.S sinl.S tan.S tanf.S tanl.S s_expm1.S
275
276
 
277
 
1908 serge 278
1906 serge 279
 
280
281
 
282
283
 
284
            $(patsubst %.c, %.o, $(CORE_SRCS))))
285
286
 
287
288
 
289
 
290
               $(patsubst %.c, string/%.o, $(STRING_SRCS))))
291
292
 
293
               $(patsubst %.c, stdlib/%.o, $(STDLIB_SRCS))))
294
295
 
296
 
297
               $(patsubst %.c, math/%.o, $(MATH_SRCS))))
298
299
 
300
 
301
		stdio/vfiprintf.o	\
302
		stdio/svfprintf.o	\
303
		stdio/svfiprintf.o	\
304
		stdio/vfscanf.o		\
305
		stdio/vfiscanf.o	\
306
		stdio/svscanf.o		\
307
		stdio/svfiscanf.o
308
309
 
310
311
 
312
LIB_OBJS:=  	$(STATIC_OBJS)
313
314
 
315
316
 
317
LIB_OBJS:=  	$(DLL_OBJS)
318
319
 
320
321
 
322
		$(CORE_SRCS)		\
323
		$(STDIO_SRCS) 		\
324
		$(STRING_SRCS)		\
325
		$(STDLIB_SRCS)
326
327
 
328
		$(CORE_OBJS) 		\
329
		$(STRING_OBJS) 		\
330
		$(STDLIB_OBJS)		\
331
		$(STDIO_OBJS) 		\
332
		$(PRINTF_OBJS) 		\
333
		$(MATH_OBJS)
334
335
 
336
 
337
 
1907 serge 338
1906 serge 339
 
340
 
341
	ld $(LDFLAGS) -L. -o $@ $(LIB_OBJS) -lgcc
342
343
 
344
 
345
	ar rc libamz.a $(AMZ_OBJS)
346
347
 
1907 serge 348
	fasm pe/libc.asm ./libc.obj
349
1906 serge 350
 
1907 serge 351
 
1906 serge 352
353
 
354
	ar rc $(NAME).a $(LIB_OBJS)
355
356
 
357
 
358
 
359
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DFLOATING_POINT -c stdio/vfprintf.c -o $@
360
361
 
362
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DINTEGER_ONLY -c stdio/vfprintf.c -o $@
363
364
 
365
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DSTRING_ONLY -c stdio/vfprintf.c -o $@
366
367
 
368
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums -DINTEGER_ONLY -DSTRING_ONLY -c stdio/vfprintf.c -o $@
369
370
 
371
 
372
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES)	stdio/vfscanf.c -o $@
373
374
 
375
	$(CC) $(CFLAGS) $(DEFINES) -DINTEGER_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
376
377
 
378
	$(CC) $(CFLAGS) $(DEFINES) -DSTRING_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
379
380
 
381
 
382
	$(CC) $(CFLAGS) $(DEFINES) -DINTEGER_ONLY -DSTRING_ONLY $(INCLUDES) stdio/vfscanf.c -o $@
383
384
 
385
 
386
 
387
	fasm $< $@
388
389
 
390
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
391
392
 
393
 
3065 serge 394
	-rm -f */*.o
395
1906 serge 396
 
397