update for HEAD-2003050101
[reactos.git] / lib / msvcrt / Makefile
1 # $Id$
2
3 PATH_TO_TOP = ../..
4
5 TARGET_DEFONLY = yes
6
7 TARGET_TYPE = dynlink
8
9 TARGET_NAME = msvcrt
10
11 TARGET_BASE = 0x78000000
12
13 TARGET_LFLAGS = -nostartfiles
14
15 TARGET_SDKLIBS = kernel32.a ntdll.a
16
17 TARGET_GCCLIBS = gcc
18
19 TARGET_CFLAGS = -D_MSVCRT_LIB_
20
21 TARGET_OBJECTS = $(TARGET_NAME).o
22
23 TARGET_CLEAN = \
24         conio/*.o \
25         ctype/*.o \
26         direct/*.o \
27         except/*.o \
28         float/*.o \
29         io/*.o \
30         locale/*.o \
31         math/*.o \
32         mbstring/*.o \
33         misc/*.o \
34         process/*.o \
35         search/*.o \
36         setjmp/*.o \
37         setjmp/i386/*.o \
38         signal/*.o \
39         stdio/*.o \
40         stdlib/*.o \
41         string/*.o \
42         sys_stat/*.o \
43         time/*.o \
44         wstring/*.o
45
46
47 include $(PATH_TO_TOP)/rules.mak
48
49 include $(TOOLS_PATH)/helper.mk
50
51
52 CONIO_OBJECTS = \
53         conio/cgets.o \
54         conio/cprintf.o \
55         conio/cputs.o \
56         conio/cscanf.o \
57         conio/getch.o \
58         conio/getche.o \
59         conio/kbhit.o \
60         conio/putch.o \
61         conio/ungetch.o
62
63 CTYPE_OBJECTS = \
64         ctype/ctype.o \
65         ctype/isalnum.o \
66         ctype/isalpha.o \
67         ctype/isascii.o \
68         ctype/iscntrl.o \
69         ctype/isdigit.o \
70         ctype/isgraph.o \
71         ctype/islower.o \
72         ctype/isprint.o \
73         ctype/ispunct.o \
74         ctype/isspace.o \
75         ctype/isupper.o \
76         ctype/isxdigit.o \
77         ctype/toascii.o \
78         ctype/tolower.o \
79         ctype/toupper.o \
80         ctype/iscsym.o \
81         ctype/isctype.o
82
83 DIRECT_OBJECTS = \
84         direct/chdir.o \
85         direct/chdrive.o \
86         direct/getcwd.o \
87         direct/getdcwd.o \
88         direct/getdfree.o \
89         direct/getdrive.o \
90         direct/mkdir.o \
91         direct/rmdir.o \
92         direct/wchdir.o \
93         direct/wgetcwd.o \
94         direct/wgetdcwd.o \
95         direct/wmkdir.o \
96         direct/wrmdir.o
97
98 EXCEPT_OBJECTS = \
99         except/seh.o \
100         except/abnorter.o \
101         except/exhand2.o \
102         except/matherr.o \
103         except/unwind.o \
104         except/xcptfil.o
105
106 FLOAT_OBJECTS = \
107         float/chgsign.o \
108         float/clearfp.o \
109         float/cntrlfp.o \
110         float/copysign.o \
111         float/fpclass.o \
112         float/fpecode.o \
113         float/fpreset.o \
114         float/isnan.o \
115         float/logb.o \
116         float/nafter.o \
117         float/scalb.o \
118         float/statfp.o
119
120 IO_OBJECTS = \
121         io/access.o \
122         io/chmod.o \
123         io/chsize.o \
124         io/close.o \
125         io/commit.o \
126         io/create.o \
127         io/dup.o \
128         io/dup2.o \
129         io/eof.o \
130         io/filelen.o \
131         io/fileleni.o \
132         io/find.o \
133         io/fmode.o \
134         io/isatty.o \
135         io/locking.o \
136         io/lseek.o \
137         io/lseeki64.o \
138         io/mktemp.o \
139         io/open.o \
140         io/pipe.o \
141         io/read.o \
142         io/setmode.o \
143         io/sopen.o \
144         io/tell.o \
145         io/telli64.o \
146         io/umask.o \
147         io/unlink.o \
148         io/utime.o \
149         io/waccess.o \
150         io/wchmod.o \
151         io/wcreate.o \
152         io/wfind.o \
153         io/wmktemp.o \
154         io/wopen.o \
155         io/write.o \
156         io/wunlink.o \
157         io/wutime.o
158
159 LOCALE_OBJECTS = \
160         locale/locale.o
161
162 MATH_OBJECTS = \
163         math/acos.o \
164         math/adjust.o \
165         math/asin.o \
166         math/atan.o \
167         math/atan2.o \
168         math/cabs.o \
169         math/ceil.o \
170         math/cos.o \
171         math/cosh.o \
172         math/exp.o \
173         math/fabs.o \
174         math/floor.o \
175         math/fmod.o \
176         math/frexp.o \
177         math/huge_val.o \
178         math/hypot.o \
179         math/j0_y0.o \
180         math/j1_y1.o \
181         math/jn_yn.o \
182         math/ldexp.o \
183         math/log.o \
184         math/log10.o \
185         math/modf.o \
186         math/pow.o \
187         math/sin.o \
188         math/sinh.o \
189         math/sqrt.o \
190         math/stubs.o \
191         math/tan.o \
192         math/tanh.o
193
194 MBSTRING_OBJECTS = \
195         mbstring/hanzen.o \
196         mbstring/ischira.o \
197         mbstring/iskana.o \
198         mbstring/iskpun.o \
199         mbstring/islead.o \
200         mbstring/islwr.o \
201         mbstring/ismbal.o \
202         mbstring/ismbaln.o \
203         mbstring/ismbc.o \
204         mbstring/ismbgra.o \
205         mbstring/ismbkaln.o \
206         mbstring/ismblead.o \
207         mbstring/ismbpri.o \
208         mbstring/ismbpun.o \
209         mbstring/ismbtrl.o \
210         mbstring/isuppr.o \
211         mbstring/jistojms.o \
212         mbstring/jmstojis.o \
213         mbstring/mbbtype.o \
214         mbstring/mbccpy.o \
215         mbstring/mbclen.o \
216         mbstring/mbscat.o \
217         mbstring/mbschr.o \
218         mbstring/mbscmp.o \
219         mbstring/mbscoll.o \
220         mbstring/mbscpy.o \
221         mbstring/mbscspn.o \
222         mbstring/mbsdec.o \
223         mbstring/mbsdup.o \
224         mbstring/mbsicmp.o \
225         mbstring/mbsicoll.o \
226         mbstring/mbsinc.o \
227         mbstring/mbslen.o \
228         mbstring/mbslwr.o \
229         mbstring/mbsncat.o \
230         mbstring/mbsnccnt.o \
231         mbstring/mbsncmp.o \
232         mbstring/mbsncoll.o \
233         mbstring/mbsncpy.o \
234         mbstring/mbsnextc.o \
235         mbstring/mbsnicmp.o \
236         mbstring/mbsnicoll.o \
237         mbstring/mbsninc.o \
238         mbstring/mbsnset.o \
239         mbstring/mbspbrk.o \
240         mbstring/mbsrchr.o \
241         mbstring/mbsrev.o \
242         mbstring/mbsset.o \
243         mbstring/mbsspn.o \
244         mbstring/mbsspnp.o \
245         mbstring/mbsstr.o \
246         mbstring/mbstok.o \
247         mbstring/mbstrlen.o \
248         mbstring/mbsupr.o
249
250 MISC_OBJECTS = \
251         misc/amsg.o \
252         misc/assert.o \
253         misc/crtmain.o \
254         misc/cpp.o \
255         misc/dllmain.o \
256         misc/environ.o \
257         misc/getargs.o \
258         misc/initterm.o \
259         misc/purecall.o \
260         misc/tls.o
261
262 PROCESS_OBJECTS = \
263         process/_cwait.o \
264         process/_system.o \
265         process/dll.o \
266         process/process.o \
267         process/procid.o \
268         process/thread.o \
269         process/threadid.o \
270         process/threadx.o
271
272 SEARCH_OBJECTS = \
273         search/lfind.o \
274         search/lsearch.o
275
276 SETJMP_OBJECTS = \
277         setjmp/i386/setjmp.o
278         
279 SIGNAL_OBJECTS = \
280         signal/signal.o
281
282 STDIO_OBJECTS = \
283         stdio/allocfil.o \
284         stdio/clearerr.o \
285         stdio/fclose.o \
286         stdio/fdopen.o \
287         stdio/feof.o \
288         stdio/ferror.o \
289         stdio/fflush.o \
290         stdio/fgetc.o \
291         stdio/fgetchar.o \
292         stdio/fgetpos.o \
293         stdio/fgets.o \
294         stdio/fgetws.o \
295         stdio/filbuf.o \
296         stdio/fileno.o \
297         stdio/flsbuf.o \
298         stdio/fopen.o \
299         stdio/fprintf.o \
300         stdio/fputc.o \
301         stdio/fputchar.o \
302         stdio/fputs.o \
303         stdio/fread.o \
304         stdio/freopen.o \
305         stdio/fscanf.o \
306         stdio/fseek.o \
307         stdio/fsetpos.o \
308         stdio/fsopen.o \
309         stdio/ftell.o \
310         stdio/fwalk.o \
311         stdio/fwrite.o \
312         stdio/getc.o \
313         stdio/getchar.o \
314         stdio/gets.o \
315         stdio/getw.o \
316         stdio/perror.o \
317         stdio/popen.o \
318         stdio/printf.o \
319         stdio/putc.o \
320         stdio/putchar.o \
321         stdio/puts.o \
322         stdio/putw.o \
323         stdio/remove.o \
324         stdio/rename.o \
325         stdio/rewind.o \
326         stdio/rmtmp.o \
327         stdio/scanf.o \
328         stdio/setbuf.o \
329         stdio/setvbuf.o \
330         stdio/sprintf.o \
331         stdio/sscanf.o \
332         stdio/stdhnd.o \
333         stdio/tempnam.o \
334         stdio/tmpfile.o \
335         stdio/tmpnam.o \
336         stdio/ungetc.o \
337         stdio/vfprintf.o \
338         stdio/vfscanf.o \
339         stdio/vfwprint.o \
340         stdio/vprintf.o \
341         stdio/vscanf.o \
342         stdio/vsprintf.o \
343         stdio/vsscanf.o \
344         stdio/wfdopen.o \
345         stdio/wrename.o \
346         stdio/wtempnam.o \
347         stdio/wtmpnam.o
348
349 STDLIB_OBJECTS = \
350         stdlib/_exit.o \
351         stdlib/abort.o \
352         stdlib/abs.o \
353         stdlib/atexit.o \
354         stdlib/atof.o \
355         stdlib/atoi.o \
356         stdlib/atoi64.o \
357         stdlib/atol.o \
358         stdlib/bsearch.o \
359         stdlib/div.o \
360         stdlib/ecvt.o \
361         stdlib/ecvtbuf.o \
362         stdlib/errno.o \
363         stdlib/fcvt.o \
364         stdlib/fcvtbuf.o \
365         stdlib/fullpath.o \
366         stdlib/gcvt.o \
367         stdlib/getenv.o \
368         stdlib/itoa.o \
369         stdlib/itow.o \
370         stdlib/labs.o \
371         stdlib/ldiv.o \
372         stdlib/makepath.o \
373         stdlib/malloc.o \
374         stdlib/mbstowcs.o \
375         stdlib/mbtowc.o \
376         stdlib/obsol.o \
377         stdlib/putenv.o \
378         stdlib/qsort.o \
379         stdlib/rand.o \
380         stdlib/rot.o \
381         stdlib/senv.o \
382         stdlib/splitp.o \
383         stdlib/strtod.o \
384         stdlib/strtol.o \
385         stdlib/strtoul.o \
386         stdlib/swab.o \
387         stdlib/wcstod.o \
388         stdlib/wcstol.o \
389         stdlib/wcstombs.o \
390         stdlib/wcstoul.o \
391         stdlib/wctomb.o \
392         stdlib/wfulpath.o \
393         stdlib/witoa.o \
394         stdlib/witow.o \
395         stdlib/wputenv.o \
396         stdlib/wsenv.o \
397         stdlib/wsplitp.o \
398         stdlib/wmakpath.o \
399         stdlib/wtoi.o \
400         stdlib/wtoi64.o
401
402 STRING_OBJECTS = \
403         string/memccpy.o \
404         string/memchr.o \
405         string/memcmp.o \
406         string/memcpy.o \
407         string/memicmp.o \
408         string/memmove.o \
409         string/memset.o \
410         string/strcat.o \
411         string/strchr.o \
412         string/strcmp.o \
413         string/strcoll.o \
414         string/strcpy.o \
415         string/strcspn.o \
416         string/strdup.o \
417         string/strerror.o \
418         string/stricmp.o \
419         string/strlen.o \
420         string/strlwr.o \
421         string/strncat.o \
422         string/strncmp.o \
423         string/strncoll.o \
424         string/strncpy.o \
425         string/strnicmp.o \
426         string/strnlen.o \
427         string/strpbrk.o \
428         string/strrchr.o \
429         string/strrev.o\
430         string/strset.o \
431         string/strspn.o \
432         string/strstr.o \
433         string/strtok.o \
434         string/strupr.o \
435         string/strxfrm.o 
436
437 SYS_STAT_OBJECTS = \
438         sys_stat/fstat.o \
439         sys_stat/fstati64.o \
440         sys_stat/futime.o \
441         sys_stat/stat.o \
442         sys_stat/wstat.o
443
444 TIME_OBJECTS = \
445         time/clock.o \
446         time/ctime.o \
447         time/difftime.o \
448         time/strdate.o \
449         time/strftime.o \
450         time/strtime.o \
451         time/time.o \
452         time/tz_vars.o \
453         time/wctime.o \
454         time/wstrdate.o \
455         time/wstrtime.o
456
457
458 WSTRING_OBJECTS = \
459         wstring/wcscat.o \
460         wstring/wcschr.o \
461         wstring/wcscmp.o \
462         wstring/wcscoll.o \
463         wstring/wcscpy.o \
464         wstring/wcscspn.o \
465         wstring/wcsdup.o \
466         wstring/wcsicmp.o \
467         wstring/wcslen.o \
468         wstring/wcslwr.o \
469         wstring/wcsncat.o \
470         wstring/wcsncmp.o \
471         wstring/wcsncpy.o \
472         wstring/wcsnicmp.o \
473         wstring/wcsnlen.o \
474         wstring/wcspbrk.o \
475         wstring/wcsrchr.o \
476         wstring/wcsrev.o \
477         wstring/wcsset.o \
478         wstring/wcsspn.o \
479         wstring/wcsstr.o \
480         wstring/wcstok.o \
481         wstring/wcsupr.o \
482         wstring/wcsxfrm.o
483
484 OBJECTS = \
485         $(CONIO_OBJECTS) \
486         $(CTYPE_OBJECTS) \
487         $(DIRECT_OBJECTS) \
488         $(EXCEPT_OBJECTS) \
489         $(FLOAT_OBJECTS) \
490         $(IO_OBJECTS) \
491         $(LOCALE_OBJECTS) \
492         $(MATH_OBJECTS) \
493         $(MBSTRING_OBJECTS) \
494         $(MISC_OBJECTS) \
495         $(PROCESS_OBJECTS) \
496         $(SEARCH_OBJECTS) \
497         $(SETJMP_OBJECTS) \
498         $(SIGNAL_OBJECTS) \
499         $(STDIO_OBJECTS) \
500         $(STDLIB_OBJECTS) \
501         $(STRING_OBJECTS) \
502         $(SYS_STAT_OBJECTS) \
503         $(TIME_OBJECTS) \
504         $(WSTRING_OBJECTS)
505
506 $(TARGET_NAME).o: $(OBJECTS)
507         $(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
508
509
510 # EOF