update for HEAD-2003021201
[reactos.git] / lib / crtdll / makefile
index e834864..b7d83d8 100644 (file)
@@ -2,25 +2,50 @@
 
 PATH_TO_TOP = ../..
 
+PATH_TO_MSVCRT = ../msvcrt
+
+TARGET_DEFONLY = yes
+
 TARGET_TYPE = dynlink
 
 TARGET_NAME = crtdll
 
-TARGET_LFLAGS = -nostartfiles
+TARGET_BASE = 0x77630000
 
-TARGET_SDKLIBS = kernel32.a
+TARGET_LFLAGS = -nostartfiles
 
-TARGET_BASE = 0x77630000
+TARGET_CFLAGS = -D_MSVCRT_LIB_
 
-TARGET_DEFONLY = yes
+TARGET_SDKLIBS = kernel32.a ntdll.a
 
 TARGET_OBJECTS = $(TARGET_NAME).o
 
-TARGET_CLEAN = assert/*.o conio/*.o ctype/*.o direct/*.o dirent/*.o \
-       except/*.o float/*.o io/*.o libc/*.o locale/*.o malloc/*.o \
-       math/*.o mbstring/*.o misc/*.o process/*.o quad/*.o search/*.o \
-       setjmp/*.o stdio/*.o stdlib/*.o string/*.o sys_stat/*.o tchar/*.o \
-       time/*.o wchar/*.o signal/*.o
+TARGET_CLEAN = \
+       conio/*.o \
+       ctype/*.o \
+       direct/*.o \
+       dirent/*.o \
+       except/*.o \
+       float/*.o \
+       io/*.o \
+       libc/*.o \
+       locale/*.o \
+       malloc/*.o \
+       math/*.o \
+       mbstring/*.o \
+       misc/*.o \
+       process/*.o \
+       quad/*.o \
+       search/*.o \
+       setjmp/*.o \
+       signal/*.o \
+       stdio/*.o \
+       stdlib/*.o \
+       string/*.o \
+       sys_stat/*.o \
+       tchar/*.o \
+       time/*.o \
+       wchar/*.o
 
 
 include $(PATH_TO_TOP)/rules.mak
@@ -28,133 +53,465 @@ include $(PATH_TO_TOP)/rules.mak
 include $(TOOLS_PATH)/helper.mk
 
 
-ASSERT_OBJECTS = assert/assert.o
-
-CTYPE_OBJECTS = ctype/isalnum.o \
-               ctype/isalpha.o ctype/isascii.o ctype/iscntrl.o ctype/isdigit.o ctype/isgraph.o \
-               ctype/islower.o ctype/isprint.o ctype/ispunct.o ctype/isspace.o ctype/isupper.o \
-               ctype/isxdigit.o ctype/toascii.o ctype/tolower.o ctype/toupper.o\
-               ctype/iscsym.o ctype/isctype.o
-
-CONIO_OBJECTS = conio/cputs.o conio/getch.o conio/getche.o conio/putch.o conio/ungetch.o\
-               conio/kbhit.o conio/cgets.o conio/cprintf.o conio/cscanf.o
-
-DIRECT_OBJECTS = direct/chdir.o direct/chdrive.o direct/getcwd.o direct/getdrive.o \
-                direct/rmdir.o direct/mkdir.o direct/getdfree.o direct/getdcwd.o
-
-EXCEPT_OBJECTS = except/unwind.o except/abnorter.o except/exhand2.o except/matherr.o
-
-LOCALE_OBJECTS = locale/locale.o 
-
-MALLOC_OBJECTS = malloc/expand.o malloc/heap.o
-
-
-MISC_OBJECTS = misc/GetArgs.o misc/dllmain.o misc/setnew.o misc/purecall.o misc/initterm.o\
-               misc/amsg.o
-
-MBSTRING_OBJECTS = mbstring/mbsnicmp.o mbstring/mbsnset.o mbstring/mbsnextc.o mbstring/mbsnicoll.o mbstring/islead.o mbstring/mbsspnp.o \
-               mbstring/mbspbrk.o mbstring/mbsspn.o mbstring/mbbtype.o mbstring/mbscat.o mbstring/mbschr.o \
-               mbstring/mbccpy.o mbstring/mbslen.o mbstring/mbsrchr.o mbstring/mbsset.o mbstring/mbsncat.o mbstring/mbsncmp.o \
-               mbstring/mbscmp.o mbstring/mbsncoll.o mbstring/mbscoll.o mbstring/mbsncpy.o mbstring/mbscpy.o mbstring/mbscspn.o \
-               mbstring/mbsdup.o mbstring/mbsicmp.o mbstring/mbsicoll.o mbstring/mbsnccnt.o mbstring/mbsrev.o mbstring/mbsstr.o \
-               mbstring/mbsinc.o mbstring/mbsdec.o mbstring/mbsninc.o mbstring/mbclen.o mbstring/iskana.o mbstring/jmstojis.o \
-               mbstring/jistojms.o mbstring/iskpun.o mbstring/iskmoji.o mbstring/ismbgra.o mbstring/ismbpri.o mbstring/isuppr.o \
-               mbstring/islwr.o mbstring/ismbkaln.o mbstring/mbstrlen.o mbstring/ismbc.o \
-               mbstring/ismbtrl.o mbstring/ismblead.o mbstring/ischira.o mbstring/hanzen.o mbstring/ismbaln.o mbstring/ismbal.o \
-               mbstring/ismbpun.o mbstring/mbslwr.o mbstring/mbsupr.o mbstring/mbstok.o
-
-STRING_OBJECTS = string/memchr.o string/memcmp.o string/strcat.o \
-     string/strchr.o string/strcmp.o string/strcoll.o \
-                string/strcpy.o string/strcspn.o string/memcpy.o \
-                string/strlen.o string/strncat.o string/strncmp.o \
-                string/strncpy.o string/strpbrk.o string/strrchr.o \
-                string/strspn.o string/strstr.o string/strtok.o \
-                string/strxfrm.o string/memmove.o string/memset.o \
-                string/strdup.o string/strlwr.o string/strupr.o \
-                string/str_old.o string/strerror.o string/stricmp.o\
-                string/strnlen.o string/strnicmp.o string/strrev.o\
-                string/memccpy.o string/memicmp.o string/strset.o
-
-WCHAR_OBJECTS = wchar/wcscat.o wchar/wcschr.o wchar/wcscmp.o \
-                wchar/wcscoll.o wchar/wcscpy.o wchar/wcscspn.o \
-                wchar/wcsdup.o wchar/wcsicmp.o wchar/wcslen.o \
-                wchar/wcslwr.o wchar/wcsncat.o wchar/wcsncmp.o \
-                wchar/wcsncpy.o wchar/wcsnlen.o wchar/wcspbrk.o wchar/wcsrchr.o\
-                wchar/wcsrev.o wchar/wcsset.o wchar/wcsspn.o wchar/wcsstr.o\
-                wchar/wcstod.o wchar/wcstok.o wchar/wcstol.o wchar/wcsupr.o\
-                wchar/wcsxfrm.o wchar/wtoi.o wchar/wcstombs.o wchar/wcsnicmp.o 
-
-SETJMP_OBJECTS = setjmp/setjmp.o
-
-STDIO_OBJECTS = stdio/getenv.o stdio/filbuf.o  \
-               stdio/fclose.o stdio/feof.o stdio/ferror.o stdio/fileno.o\
-               stdio/fflush.o stdio/fgetc.o stdio/fgetpos.o stdio/fgets.o stdio/flsbuf.o \
-               stdio/fopen.o stdio/fprintf.o stdio/fputc.o stdio/fputs.o stdio/setvbuf.o\
-               stdio/fread.o stdio/freopen.o  stdio/fscanf.o stdio/fseek.o \
-               stdio/fsetpos.o stdio/ftell.o stdio/fwalk.o stdio/fwrite.o stdio/getc.o \
-               stdio/getchar.o stdio/gets.o stdio/getw.o stdio/perror.o stdio/clearerr.o \
-               stdio/putc.o stdio/putchar.o stdio/puts.o stdio/putw.o stdio/fputchar.o\
-               stdio/remove.o stdio/rename.o stdio/rewind.o stdio/allocfil.o\
-               stdio/setbuf.o stdio/setbuffe.o stdlib/obsol.o stdio/setlineb.o\
-               stdio/scanf.o  stdio/sscanf.o stdio/vscanf.o stdio/vsscanf.o stdio/vfscanf.o\
-               stdio/stdiohk.o stdio/stdhnd.o stdio/tempnam.o stdio/tmpfile.o stdio/tmpnam.o \
-               stdio/ungetc.o stdio/printf.o stdio/vfprintf.o stdio/vprintf.o stdio/sprintf.o\
-               stdio/fdopen.o stdio/vsprintf.o stdio/frlist.o stdio/fgetchar.o stdio/rmtmp.o\
-               stdio/fsopen.o stdio/popen.o stdio/vfwprint.o
+CONIO_OBJECTS = \
+       $(PATH_TO_MSVCRT)/conio/cgets.o \
+       $(PATH_TO_MSVCRT)/conio/cprintf.o \
+       $(PATH_TO_MSVCRT)/conio/cputs.o \
+       $(PATH_TO_MSVCRT)/conio/cscanf.o \
+       $(PATH_TO_MSVCRT)/conio/getch.o \
+       $(PATH_TO_MSVCRT)/conio/getche.o \
+       $(PATH_TO_MSVCRT)/conio/kbhit.o \
+       $(PATH_TO_MSVCRT)/conio/putch.o \
+       $(PATH_TO_MSVCRT)/conio/ungetch.o
+
+CTYPE_OBJECTS = \
+       $(PATH_TO_MSVCRT)/ctype/ctype.o \
+       $(PATH_TO_MSVCRT)/ctype/isalnum.o \
+       $(PATH_TO_MSVCRT)/ctype/isalpha.o \
+       $(PATH_TO_MSVCRT)/ctype/isascii.o \
+       $(PATH_TO_MSVCRT)/ctype/iscntrl.o \
+       $(PATH_TO_MSVCRT)/ctype/isdigit.o \
+       $(PATH_TO_MSVCRT)/ctype/isgraph.o \
+       $(PATH_TO_MSVCRT)/ctype/islower.o \
+       $(PATH_TO_MSVCRT)/ctype/isprint.o \
+       $(PATH_TO_MSVCRT)/ctype/ispunct.o \
+       $(PATH_TO_MSVCRT)/ctype/isspace.o \
+       $(PATH_TO_MSVCRT)/ctype/isupper.o \
+       $(PATH_TO_MSVCRT)/ctype/isxdigit.o \
+       $(PATH_TO_MSVCRT)/ctype/toascii.o \
+       $(PATH_TO_MSVCRT)/ctype/tolower.o \
+       $(PATH_TO_MSVCRT)/ctype/toupper.o \
+       $(PATH_TO_MSVCRT)/ctype/iscsym.o \
+       ctype/isctype.o
+
+DIRECT_OBJECTS = \
+       $(PATH_TO_MSVCRT)/direct/chdir.o \
+       $(PATH_TO_MSVCRT)/direct/chdrive.o \
+       $(PATH_TO_MSVCRT)/direct/getcwd.o \
+       $(PATH_TO_MSVCRT)/direct/getdcwd.o \
+       $(PATH_TO_MSVCRT)/direct/getdfree.o \
+       $(PATH_TO_MSVCRT)/direct/getdrive.o \
+       $(PATH_TO_MSVCRT)/direct/mkdir.o \
+       $(PATH_TO_MSVCRT)/direct/rmdir.o
+
+EXCEPT_OBJECTS = \
+       except/abnorter.o \
+       except/exhand2.o \
+       except/matherr.o \
+       except/unwind.o
+
+FLOAT_OBJECTS = \
+       $(PATH_TO_MSVCRT)/float/chgsign.o \
+       $(PATH_TO_MSVCRT)/float/clearfp.o \
+       $(PATH_TO_MSVCRT)/float/cntrlfp.o \
+       $(PATH_TO_MSVCRT)/float/copysign.o \
+       $(PATH_TO_MSVCRT)/float/fpclass.o \
+       $(PATH_TO_MSVCRT)/float/fpreset.o \
+       $(PATH_TO_MSVCRT)/float/isnan.o \
+       $(PATH_TO_MSVCRT)/float/logb.o \
+       $(PATH_TO_MSVCRT)/float/nafter.o \
+       $(PATH_TO_MSVCRT)/float/scalb.o \
+       $(PATH_TO_MSVCRT)/float/statfp.o
+
+IO_OBJECTS = \
+       $(PATH_TO_MSVCRT)/io/access.o \
+       $(PATH_TO_MSVCRT)/io/chmod.o \
+       $(PATH_TO_MSVCRT)/io/chsize.o \
+       $(PATH_TO_MSVCRT)/io/close.o \
+       $(PATH_TO_MSVCRT)/io/commit.o \
+       io/create.o \
+       io/dup.o \
+       $(PATH_TO_MSVCRT)/io/dup2.o \
+       io/eof.o \
+       $(PATH_TO_MSVCRT)/io/filelen.o \
+       io/find.o \
+       io/fmode.o \
+       $(PATH_TO_MSVCRT)/io/isatty.o \
+       $(PATH_TO_MSVCRT)/io/locking.o \
+       io/lseek.o \
+       $(PATH_TO_MSVCRT)/io/mktemp.o \
+       io/open.o \
+       io/pipe.o \
+       io/read.o \
+       $(PATH_TO_MSVCRT)/io/setmode.o \
+       $(PATH_TO_MSVCRT)/io/sopen.o \
+       $(PATH_TO_MSVCRT)/io/tell.o \
+       $(PATH_TO_MSVCRT)/io/umask.o \
+       io/unlink.o \
+       $(PATH_TO_MSVCRT)/io/utime.o \
+       io/write.o
+
+LOCALE_OBJECTS = \
+       $(PATH_TO_MSVCRT)/locale/locale.o 
+
+MATH_OBJECTS = \
+       $(PATH_TO_MSVCRT)/math/acos.o \
+       math/acosh.o \
+       $(PATH_TO_MSVCRT)/math/asin.o \
+       math/asinh.o \
+       $(PATH_TO_MSVCRT)/math/atan.o \
+       $(PATH_TO_MSVCRT)/math/atan2.o\
+       math/atanh.o \
+       $(PATH_TO_MSVCRT)/math/cabs.o \
+       math/ceil.o \
+       $(PATH_TO_MSVCRT)/math/cos.o \
+       $(PATH_TO_MSVCRT)/math/cosh.o \
+       $(PATH_TO_MSVCRT)/math/exp.o \
+       $(PATH_TO_MSVCRT)/math/fabs.o\
+       math/floor.o \
+       $(PATH_TO_MSVCRT)/math/fmod.o \
+       $(PATH_TO_MSVCRT)/math/frexp.o \
+       $(PATH_TO_MSVCRT)/math/ftol.o \
+       math/huge_val.o \
+       $(PATH_TO_MSVCRT)/math/hypot.o \
+       $(PATH_TO_MSVCRT)/math/j0_y0.o \
+       $(PATH_TO_MSVCRT)/math/j1_y1.o \
+       $(PATH_TO_MSVCRT)/math/jn_yn.o \
+       $(PATH_TO_MSVCRT)/math/ldexp.o \
+       $(PATH_TO_MSVCRT)/math/log.o \
+       $(PATH_TO_MSVCRT)/math/log10.o \
+       $(PATH_TO_MSVCRT)/math/modf.o \
+       $(PATH_TO_MSVCRT)/math/pow.o \
+       $(PATH_TO_MSVCRT)/math/sin.o \
+       $(PATH_TO_MSVCRT)/math/sinh.o \
+       $(PATH_TO_MSVCRT)/math/sqrt.o \
+       $(PATH_TO_MSVCRT)/math/stubs.o \
+       $(PATH_TO_MSVCRT)/math/tan.o \
+       $(PATH_TO_MSVCRT)/math/tanh.o
+
+MALLOC_OBJECTS = \
+       malloc/expand.o \
+       malloc/heap.o
+
+MBSTRING_OBJECTS = \
+       $(PATH_TO_MSVCRT)/mbstring/hanzen.o \
+       $(PATH_TO_MSVCRT)/mbstring/ischira.o \
+       $(PATH_TO_MSVCRT)/mbstring/iskana.o \
+       $(PATH_TO_MSVCRT)/mbstring/iskpun.o \
+       $(PATH_TO_MSVCRT)/mbstring/islead.o \
+       $(PATH_TO_MSVCRT)/mbstring/islwr.o \
+       $(PATH_TO_MSVCRT)/mbstring/iskmoji.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbal.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbaln.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbc.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbgra.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbkaln.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismblead.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbpri.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbpun.o \
+       $(PATH_TO_MSVCRT)/mbstring/ismbtrl.o \
+       $(PATH_TO_MSVCRT)/mbstring/isuppr.o \
+       $(PATH_TO_MSVCRT)/mbstring/jistojms.o \
+       $(PATH_TO_MSVCRT)/mbstring/jmstojis.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbbtype.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbccpy.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbclen.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbscat.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbschr.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbscmp.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbscoll.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbscpy.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbscspn.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsdec.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsdup.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsicmp.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsicoll.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsinc.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbslen.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbslwr.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsncat.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsnccnt.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsncmp.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsncoll.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsncpy.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsnextc.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsnicmp.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsnicoll.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsninc.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsnset.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbspbrk.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsrchr.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsrev.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsset.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsspn.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsspnp.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsstr.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbstok.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbstrlen.o \
+       $(PATH_TO_MSVCRT)/mbstring/mbsupr.o
+
+MISC_OBJECTS = \
+       misc/amsg.o \
+       $(PATH_TO_MSVCRT)/misc/assert.o \
+       misc/debug.o \
+       misc/dllmain.o \
+       misc/GetArgs.o \
+       $(PATH_TO_MSVCRT)/misc/initterm.o \
+       misc/purecall.o \
+       misc/setnew.o
+
+PROCESS_OBJECTS = \
+       process/_cwait.o \
+       process/_system.o\
+       $(PATH_TO_MSVCRT)/process/dll.o \
+       process/spawnl.o \
+       process/spawnlp.o \
+       process/spawnlpe.o \
+       process/spawnvp.o \
+       process/spawnv.o \
+       process/spawnve.o \
+       process/spawnle.o \
+       process/execl.o \
+       process/execlp.o \
+       process/execlpe.o \
+       process/execvpe.o \
+       process/execvp.o \
+       process/execv.o \
+       process/execle.o \
+       process/execve.o \
+       $(PATH_TO_MSVCRT)/process/procid.o \
+       process/thread.o \
+       $(PATH_TO_MSVCRT)/process/threadid.o
+
+QUAD_OBJECTS = \
+       quad/qdivrem.o \
+       quad/divdi3.o \
+       quad/moddi3.o \
+       quad/udivdi3.o \
+       quad/umoddi3.o
+
+SEARCH_OBJECTS = \
+       $(PATH_TO_MSVCRT)/search/lfind.o \
+       $(PATH_TO_MSVCRT)/search/lsearch.o
+
+SETJMP_OBJECTS = \
+       $(PATH_TO_MSVCRT)/setjmp/setjmp.o
+
+SIGNAL_OBJECTS = \
+       signal/xcptfil.o \
+       signal/xcptinfo.o \
+       $(PATH_TO_MSVCRT)/signal/signal.o
+
+STDIO_OBJECTS = \
+       $(PATH_TO_MSVCRT)/stdio/allocfil.o \
+       stdio/getenv.o \
+       $(PATH_TO_MSVCRT)/stdio/clearerr.o \
+       $(PATH_TO_MSVCRT)/stdio/fclose.o \
+       $(PATH_TO_MSVCRT)/stdio/fdopen.o \
+       $(PATH_TO_MSVCRT)/stdio/feof.o \
+       stdio/ferror.o \
+       stdio/fflush.o \
+       $(PATH_TO_MSVCRT)/stdio/fgetc.o \
+       stdio/fgetchar.o \
+       $(PATH_TO_MSVCRT)/stdio/fgetpos.o \
+       stdio/fgets.o \
+       stdio/filbuf.o \
+       stdio/fileno.o \
+       $(PATH_TO_MSVCRT)/stdio/flsbuf.o \
+       stdio/fopen.o \
+       $(PATH_TO_MSVCRT)/stdio/fprintf.o \
+       $(PATH_TO_MSVCRT)/stdio/fputc.o \
+       stdio/fputchar.o\
+       stdio/fputs.o \
+       stdio/fread.o \
+       stdio/freopen.o \
+       stdio/fscanf.o \
+       $(PATH_TO_MSVCRT)/stdio/fseek.o \
+       $(PATH_TO_MSVCRT)/stdio/fsetpos.o \
+       stdio/frlist.o \
+       stdio/fsopen.o \
+       stdio/ftell.o \
+       $(PATH_TO_MSVCRT)/stdio/fwalk.o \
+       stdio/fwrite.o \
+       stdio/getc.o \
+       stdio/getchar.o \
+       stdio/gets.o \
+       $(PATH_TO_MSVCRT)/stdio/getw.o \
+       stdio/perror.o \
+       stdio/popen.o \
+       stdio/printf.o \
+       stdio/putc.o \
+       stdio/putchar.o \
+       stdio/puts.o \
+       $(PATH_TO_MSVCRT)/stdio/putw.o \
+       stdio/remove.o \
+       $(PATH_TO_MSVCRT)/stdio/rename.o \
+       $(PATH_TO_MSVCRT)/stdio/rewind.o \
+       $(PATH_TO_MSVCRT)/stdio/rmtmp.o \
+       stdio/scanf.o \
+       $(PATH_TO_MSVCRT)/stdio/setbuf.o \
+       stdio/setbuffe.o \
+       stdio/setlineb.o \
+       $(PATH_TO_MSVCRT)/stdio/setvbuf.o \
+       $(PATH_TO_MSVCRT)/stdio/sprintf.o \
+       $(PATH_TO_MSVCRT)/stdio/sscanf.o \
+       $(PATH_TO_MSVCRT)/stdio/stdhnd.o \
+       stdio/stdiohk.o \
+       $(PATH_TO_MSVCRT)/stdio/tempnam.o \
+       $(PATH_TO_MSVCRT)/stdio/tmpfile.o \
+       $(PATH_TO_MSVCRT)/stdio/tmpnam.o \
+       $(PATH_TO_MSVCRT)/stdio/ungetc.o \
+       stdio/vfprintf.o \
+       stdio/vfscanf.o \
+       stdio/vfwprint.o \
+       $(PATH_TO_MSVCRT)/stdio/vprintf.o \
+       $(PATH_TO_MSVCRT)/stdio/vscanf.o \
+       $(PATH_TO_MSVCRT)/stdio/vsprintf.o \
+       $(PATH_TO_MSVCRT)/stdio/vsscanf.o
  
-QUAD_OBJECTS =  quad/qdivrem.o quad/divdi3.o quad/moddi3.o quad/udivdi3.o quad/umoddi3.o
-
-IO_OBJECTS = io/access.o io/close.o io/create.o io/dup.o io/dup2.o io/find.o io/isatty.o io/lseek.o \
-               io/open.o io/read.o io/setmode.o io/unlink.o io/write.o io/fmode.o io/mktemp.o\
-               io/chmod.o io/chsize.o io/commit.o io/locking.o io/pipe.o io/sopen.o io/filelen.o\
-               io/umask.o io/tell.o io/eof.o io/utime.o 
-
-SEARCH_OBJECTS = search/lsearch.o search/lfind.o
-
-STDLIB_OBJECTS = stdlib/abort.o stdlib/abs.o stdlib/atexit.o stdlib/atof.o stdlib/atoi.o \
-                stdlib/bsearch.o stdlib/div.o stdlib/errno.o  stdlib/_exit.o \
-                stdlib/fullpath.o stdlib/labs.o stdlib/ldiv.o stdlib/itoa.o\
-                stdlib/makepath.o stdlib/malloc.o stdlib/putenv.o stdlib/qsort.o \
-                stdlib/rand.o stdlib/senv.o stdlib/splitp.o stdlib/strtod.o stdlib/strtol.o \
-                stdlib/strtoul.o stdlib/swab.o stdlib/atol.o stdlib/rot.o stdlib/wcstomb.o\
-                stdlib/ecvt.o stdlib/ecvtbuf.o stdlib/gcvt.o  stdlib/fcvt.o stdlib/fcvtbuf.o\
-                stdlib/mbstowcs.o stdlib/itow.o
-
-SIGNAL_OBJECTS = signal/signal.o signal/xcptfil.o signal/xcptinfo.o
-
-PROCESS_OBJECTS = process/_cwait.o process/dll.o process/spawnl.o process/spawnlp.o process/spawnlpe.o  process/spawnvp.o \
-               process/spawnv.o process/spawnve.o process/spawnle.o process/execl.o process/execlp.o process/execlpe.o  \
-               process/execvpe.o process/execvp.o process/execv.o process/execle.o process/_system.o\
-               process/execve.o process/threadid.o process/thread.o process/procid.o
-
-TCHAR_OBJECTS = tchar/strdec.o tchar/strinc.o tchar/strninc.o  tchar/strncnt.o tchar/strnextc.o tchar/strspnp.o
-
-TIME_OBJECTS = time/ctime.o time/difftime.o time/strftime.o time/time.o time/clock.o time/strdate.o\
-               time/strtime.o
-
-FLOAT_OBJECTS = float/fpreset.o float/clearfp.o float/cntrlfp.o float/statfp.o float/logb.o\
-               float/chgsign.o float/fpclass.o float/isnan.o float/nafter.o float/scalb.o\
-               float/copysign.o
-
-SYS_STAT_OBJECTS = sys_stat/fstat.o sys_stat/stat.o sys_stat/futime.o sys_stat/ftime.o\
-               sys_stat/systime.o
-
-MATH_OBJECTS = math/acos.o math/acosh.o math/asin.o math/asinh.o math/atan.o math/atan2.o\
-               math/atanh.o math/ceil.o math/cos.o math/cosh.o math/exp.o math/fabs.o\
-               math/floor.o math/fmod.o math/frexp.o math/huge_val.o math/hypot.o\
-               math/ldexp.o math/log.o math/log10.o math/modf.o math/pow.o\
-               math/sin.o math/sinh.o math/sqrt.o math/tan.o\
-               math/tanh.o math/stubs.o math/j0_y0.o math/j1_y1.o math/jn_yn.o\
-               math/cabs.o math/ftol.o
-
-OBJECTS = $(MISC_OBJECTS) $(STDLIB_OBJECTS) $(IO_OBJECTS) \
-         $(FLOAT_OBJECTS) $(ASSERT_OBJECTS) $(PROCESS_OBJECTS) \
-         $(STDIO_OBJECTS) $(CTYPE_OBJECTS) $(MATH_OBJECTS) \
-         $(STRING_OBJECTS) $(TIME_OBJECTS) $(WCHAR_OBJECTS) \
-         $(SYS_STAT_OBJECTS) $(MALLOC_OBJECTS) $(MBSTRING_OBJECTS)\
-         $(SEARCH_OBJECTS) $(CONIO_OBJECTS) $(DIRECT_OBJECTS) \
-         $(SIGNAL_OBJECTS) $(SETJMP_OBJECTS) $(LOCALE_OBJECTS) \
-         $(EXCEPT_OBJECTS) $(TCHAR_OBJECTS)
+STDLIB_OBJECTS = \
+       $(PATH_TO_MSVCRT)/stdlib/_exit.o \
+       $(PATH_TO_MSVCRT)/stdlib/abort.o \
+       $(PATH_TO_MSVCRT)/stdlib/abs.o \
+       $(PATH_TO_MSVCRT)/stdlib/atexit.o \
+       $(PATH_TO_MSVCRT)/stdlib/atof.o \
+       $(PATH_TO_MSVCRT)/stdlib/atoi.o \
+       $(PATH_TO_MSVCRT)/stdlib/atol.o \
+       $(PATH_TO_MSVCRT)/stdlib/bsearch.o \
+       $(PATH_TO_MSVCRT)/stdlib/div.o \
+       $(PATH_TO_MSVCRT)/stdlib/ecvt.o \
+       $(PATH_TO_MSVCRT)/stdlib/ecvtbuf.o \
+       stdlib/errno.o \
+       $(PATH_TO_MSVCRT)/stdlib/fcvt.o \
+       $(PATH_TO_MSVCRT)/stdlib/fcvtbuf.o \
+       stdlib/fullpath.o \
+       $(PATH_TO_MSVCRT)/stdlib/gcvt.o \
+       $(PATH_TO_MSVCRT)/stdlib/itoa.o \
+       stdlib/itow.o \
+       $(PATH_TO_MSVCRT)/stdlib/labs.o \
+       $(PATH_TO_MSVCRT)/stdlib/ldiv.o \
+       $(PATH_TO_MSVCRT)/stdlib/makepath.o \
+       stdlib/malloc.o \
+       stdlib/mbstowcs.o \
+       $(PATH_TO_MSVCRT)/stdlib/obsol.o \
+       stdlib/putenv.o \
+       stdlib/qsort.o \
+       stdlib/rand.o \
+       $(PATH_TO_MSVCRT)/stdlib/rot.o \
+       $(PATH_TO_MSVCRT)/stdlib/senv.o \
+       $(PATH_TO_MSVCRT)/stdlib/splitp.o \
+       $(PATH_TO_MSVCRT)/stdlib/strtod.o \
+       $(PATH_TO_MSVCRT)/stdlib/strtol.o \
+       $(PATH_TO_MSVCRT)/stdlib/strtoul.o \
+       $(PATH_TO_MSVCRT)/stdlib/swab.o \
+       $(PATH_TO_MSVCRT)/stdlib/wcstomb.o \
+
+STRING_OBJECTS = \
+       $(PATH_TO_MSVCRT)/string/memccpy.o \
+       $(PATH_TO_MSVCRT)/string/memchr.o \
+       $(PATH_TO_MSVCRT)/string/memcmp.o \
+       $(PATH_TO_MSVCRT)/string/memcpy.o \
+       $(PATH_TO_MSVCRT)/string/memicmp.o \
+       $(PATH_TO_MSVCRT)/string/memmove.o \
+       $(PATH_TO_MSVCRT)/string/memset.o \
+       $(PATH_TO_MSVCRT)/string/strcat.o \
+       $(PATH_TO_MSVCRT)/string/strchr.o \
+       $(PATH_TO_MSVCRT)/string/strcmp.o \
+       $(PATH_TO_MSVCRT)/string/strcoll.o \
+       $(PATH_TO_MSVCRT)/string/strcpy.o \
+       $(PATH_TO_MSVCRT)/string/strcspn.o \
+       $(PATH_TO_MSVCRT)/string/strdup.o \
+       string/strerror.o \
+       $(PATH_TO_MSVCRT)/string/stricmp.o \
+       $(PATH_TO_MSVCRT)/string/strlen.o \
+       $(PATH_TO_MSVCRT)/string/strlwr.o \
+       $(PATH_TO_MSVCRT)/string/strncat.o \
+       $(PATH_TO_MSVCRT)/string/strncmp.o \
+       $(PATH_TO_MSVCRT)/string/strncpy.o \
+       $(PATH_TO_MSVCRT)/string/strnicmp.o \
+       $(PATH_TO_MSVCRT)/string/strnlen.o \
+       $(PATH_TO_MSVCRT)/string/strpbrk.o \
+       $(PATH_TO_MSVCRT)/string/strrchr.o \
+       $(PATH_TO_MSVCRT)/string/strrev.o \
+       $(PATH_TO_MSVCRT)/string/strset.o \
+       $(PATH_TO_MSVCRT)/string/strspn.o \
+       $(PATH_TO_MSVCRT)/string/strstr.o \
+       string/strtok.o \
+       $(PATH_TO_MSVCRT)/string/strupr.o \
+       string/str_old.o \
+       $(PATH_TO_MSVCRT)/string/strxfrm.o
+
+SYS_STAT_OBJECTS = \
+       sys_stat/fstat.o \
+       $(PATH_TO_MSVCRT)/sys_stat/futime.o \
+       sys_stat/ftime.o \
+       sys_stat/systime.o \
+       sys_stat/stat.o
+
+TCHAR_OBJECTS = \
+       tchar/strdec.o \
+       tchar/strinc.o \
+       tchar/strninc.o \
+       tchar/strncnt.o \
+       tchar/strnextc.o \
+       tchar/strspnp.o
+
+TIME_OBJECTS = \
+       $(PATH_TO_MSVCRT)/time/clock.o \
+       $(PATH_TO_MSVCRT)/time/ctime.o \
+       $(PATH_TO_MSVCRT)/time/difftime.o \
+       $(PATH_TO_MSVCRT)/time/strdate.o \
+       $(PATH_TO_MSVCRT)/time/strftime.o \
+       $(PATH_TO_MSVCRT)/time/strtime.o \
+       $(PATH_TO_MSVCRT)/time/time.o \
+       time/tz_vars.o \
+
+WSTRING_OBJECTS = \
+       $(PATH_TO_MSVCRT)/wstring/wcscat.o \
+       $(PATH_TO_MSVCRT)/wstring/wcschr.o \
+       $(PATH_TO_MSVCRT)/wstring/wcscmp.o \
+       wchar/wcscoll.o \
+       $(PATH_TO_MSVCRT)/wstring/wcscpy.o \
+       $(PATH_TO_MSVCRT)/wstring/wcscspn.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsdup.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsicmp.o \
+       wchar/wcslen.o \
+       $(PATH_TO_MSVCRT)/wstring/wcslwr.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsncat.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsncmp.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsncpy.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsnlen.o \
+       $(PATH_TO_MSVCRT)/wstring/wcspbrk.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsrchr.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsrev.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsset.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsspn.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsstr.o \
+       wchar/wcstod.o \
+       wchar/wcstok.o \
+       wchar/wcstol.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsupr.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsxfrm.o \
+       wchar/wtoi.o \
+       wchar/wcstombs.o \
+       $(PATH_TO_MSVCRT)/wstring/wcsnicmp.o 
+
+
+OBJECTS = \
+       $(CONIO_OBJECTS) \
+       $(CTYPE_OBJECTS) \
+       $(DIRECT_OBJECTS) \
+       $(EXCEPT_OBJECTS) \
+       $(FLOAT_OBJECTS) \
+       $(IO_OBJECTS) \
+       $(LOCALE_OBJECTS) \
+       $(MALLOC_OBJECTS) \
+       $(MATH_OBJECTS) \
+       $(MBSTRING_OBJECTS)\
+       $(MISC_OBJECTS) \
+       $(PROCESS_OBJECTS) \
+       $(SEARCH_OBJECTS) \
+       $(SETJMP_OBJECTS) \
+       $(SIGNAL_OBJECTS) \
+       $(STDIO_OBJECTS) \
+       $(STDLIB_OBJECTS) \
+       $(STRING_OBJECTS) \
+       $(SYS_STAT_OBJECTS) \
+       $(TCHAR_OBJECTS) \
+       $(TIME_OBJECTS) \
+       $(WSTRING_OBJECTS)
 
 $(TARGET_NAME).o: $(OBJECTS)
        $(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
+
+# EOF