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