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