Improved unicode fileio support.
[reactos.git] / reactos / lib / msvcrt / Makefile
1 # $Id: Makefile,v 1.29 2002/12/05 15:30:43 robd Exp $
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
16 #TARGET_SDKLIBS = kernel32.a ntdll.a
17
18 TARGET_GCCLIBS = gcc
19
20 TARGET_CFLAGS = -D_MSVCRT_LIB_
21
22 TARGET_OBJECTS = $(TARGET_NAME).o
23
24 TARGET_CLEAN = \
25 conio/*.o \
26 ctype/*.o \
27 direct/*.o \
28 except/*.o \
29 float/*.o \
30 io/*.o \
31 locale/*.o \
32 math/*.o \
33 mbstring/*.o \
34 misc/*.o \
35 process/*.o \
36 search/*.o \
37 setjmp/*.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/ftol.o \
178 math/huge_val.o \
179 math/hypot.o \
180 math/j0_y0.o \
181 math/j1_y1.o \
182 math/jn_yn.o \
183 math/ldexp.o \
184 math/log.o \
185 math/log10.o \
186 math/modf.o \
187 math/pow.o \
188 math/sin.o \
189 math/sinh.o \
190 math/sqrt.o \
191 math/stubs.o \
192 math/tan.o \
193 math/tanh.o
194
195 MBSTRING_OBJECTS = \
196 mbstring/hanzen.o \
197 mbstring/ischira.o \
198 mbstring/iskana.o \
199 mbstring/iskpun.o \
200 mbstring/islead.o \
201 mbstring/islwr.o \
202 mbstring/ismbal.o \
203 mbstring/ismbaln.o \
204 mbstring/ismbc.o \
205 mbstring/ismbgra.o \
206 mbstring/ismbkaln.o \
207 mbstring/ismblead.o \
208 mbstring/ismbpri.o \
209 mbstring/ismbpun.o \
210 mbstring/ismbtrl.o \
211 mbstring/isuppr.o \
212 mbstring/jistojms.o \
213 mbstring/jmstojis.o \
214 mbstring/mbbtype.o \
215 mbstring/mbccpy.o \
216 mbstring/mbclen.o \
217 mbstring/mbscat.o \
218 mbstring/mbschr.o \
219 mbstring/mbscmp.o \
220 mbstring/mbscoll.o \
221 mbstring/mbscpy.o \
222 mbstring/mbscspn.o \
223 mbstring/mbsdec.o \
224 mbstring/mbsdup.o \
225 mbstring/mbsicmp.o \
226 mbstring/mbsicoll.o \
227 mbstring/mbsinc.o \
228 mbstring/mbslen.o \
229 mbstring/mbslwr.o \
230 mbstring/mbsncat.o \
231 mbstring/mbsnccnt.o \
232 mbstring/mbsncmp.o \
233 mbstring/mbsncoll.o \
234 mbstring/mbsncpy.o \
235 mbstring/mbsnextc.o \
236 mbstring/mbsnicmp.o \
237 mbstring/mbsnicoll.o \
238 mbstring/mbsninc.o \
239 mbstring/mbsnset.o \
240 mbstring/mbspbrk.o \
241 mbstring/mbsrchr.o \
242 mbstring/mbsrev.o \
243 mbstring/mbsset.o \
244 mbstring/mbsspn.o \
245 mbstring/mbsspnp.o \
246 mbstring/mbsstr.o \
247 mbstring/mbstok.o \
248 mbstring/mbstrlen.o \
249 mbstring/mbsupr.o
250
251 MISC_OBJECTS = \
252 misc/amsg.o \
253 misc/assert.o \
254 misc/crtmain.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/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 # EOF