mirror of
https://github.com/reactos/reactos.git
synced 2024-07-05 12:15:46 +00:00
build msvcrt and crtdll from same source via lib\crt
fix problem with scanf/printf reading/printing doubles svn path=/trunk/; revision=13341
This commit is contained in:
parent
b9d18ec3d7
commit
5379bfaa41
|
@ -35,16 +35,16 @@
|
|||
; __builtin_new
|
||||
; __builtin_delete
|
||||
; _set_new_handler__FPFUi_i
|
||||
;
|
||||
; I commented out these, cause i dont get why they were added. -Gunnar
|
||||
;
|
||||
LIBRARY CRTDLL.DLL
|
||||
EXPORTS
|
||||
__builtin_new
|
||||
__builtin_delete
|
||||
??2@YAPAXI@Z=malloc
|
||||
??3@YAXPAX@Z=free
|
||||
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=_set_new_handler__FPFUi_i
|
||||
_set_new_handler__FPFUi_i
|
||||
;__builtin_new
|
||||
;__builtin_delete
|
||||
??2@YAPAXI@Z=MSVCRT_operator_new
|
||||
??3@YAXPAX@Z=MSVCRT_operator_delete
|
||||
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=MSVCRT__set_new_handler
|
||||
;_set_new_handler__FPFUi_i
|
||||
_CIacos
|
||||
_CIasin
|
||||
_CIatan
|
||||
|
@ -61,31 +61,31 @@ _CIsinh
|
|||
_CIsqrt
|
||||
_CItan
|
||||
_CItanh
|
||||
_HUGE_dll
|
||||
_HUGE_dll=_HUGE DATA
|
||||
_XcptFilter
|
||||
__GetMainArgs
|
||||
__argc_dll
|
||||
__argv_dll
|
||||
__argc_dll=__argc DATA
|
||||
__argv_dll=__argv DATA
|
||||
__dllonexit
|
||||
__doserrno
|
||||
__fpecode
|
||||
__isascii
|
||||
__iscsym=NTDLL.__iscsym
|
||||
__iscsymf=NTDLL.__iscsymf
|
||||
__mb_cur_max_dll
|
||||
__mb_cur_max_dll=__mb_cur_max DATA
|
||||
__pxcptinfoptrs
|
||||
__threadhandle
|
||||
__threadid
|
||||
__toascii=NTDLL.__toascii
|
||||
_abnormal_termination
|
||||
_access
|
||||
_acmdln_dll
|
||||
_aexit_rtn_dll
|
||||
_acmdln_dll=_acmdln DATA
|
||||
_aexit_rtn_dll=_aexit_rtn DATA
|
||||
_amsg_exit
|
||||
_assert
|
||||
_basemajor_dll
|
||||
_baseminor_dll
|
||||
_baseversion_dll
|
||||
_basemajor_dll=CRTDLL__basemajor_dll DATA
|
||||
_baseminor_dll=CRTDLL__baseminor_dll DATA
|
||||
_baseversion_dll=CRTDLL__baseversion_dll DATA
|
||||
_beep
|
||||
_beginthread
|
||||
_c_exit
|
||||
|
@ -100,23 +100,23 @@ _chsize
|
|||
_clearfp
|
||||
_close
|
||||
_commit
|
||||
_commode_dll
|
||||
_commode_dll=_commode DATA
|
||||
_control87
|
||||
_controlfp
|
||||
_copysign
|
||||
_cprintf
|
||||
_cpumode_dll
|
||||
_cpumode_dll=_cpumode DATA ;fixme: wine has CRTDLL__cpumode_dll
|
||||
_cputs
|
||||
_creat
|
||||
_cscanf
|
||||
_ctype
|
||||
_ctype DATA
|
||||
_cwait
|
||||
_daylight_dll
|
||||
_daylight_dll=_daylight DATA
|
||||
_dup
|
||||
_dup2
|
||||
_ecvt
|
||||
_endthread
|
||||
_environ_dll
|
||||
_environ_dll=_environ DATA
|
||||
_eof
|
||||
_errno
|
||||
_except_handler2
|
||||
|
@ -136,23 +136,23 @@ _fdopen
|
|||
_fgetchar
|
||||
_fgetwchar
|
||||
_filbuf
|
||||
_fileinfo_dll
|
||||
;_fileinfo_dll=_fileinfo DATA
|
||||
_filelength
|
||||
_fileno
|
||||
_fileno DATA
|
||||
_findclose
|
||||
_findfirst
|
||||
_findnext
|
||||
_finite
|
||||
_flsbuf
|
||||
_flushall
|
||||
_fmode_dll
|
||||
_fmode_dll=__fmode DATA
|
||||
_fpclass
|
||||
_fpieee_flt
|
||||
_fpreset
|
||||
_fputchar
|
||||
_fputwchar
|
||||
_fsopen
|
||||
_fstat
|
||||
_fstat=CRTDLL__fstat
|
||||
_ftime
|
||||
_ftol=NTDLL._ftol
|
||||
_fullpath
|
||||
|
@ -177,7 +177,7 @@ _heapset
|
|||
_heapwalk
|
||||
_hypot
|
||||
_initterm
|
||||
_iob
|
||||
_iob DATA
|
||||
_isatty
|
||||
_isctype
|
||||
_ismbbalnum
|
||||
|
@ -236,7 +236,7 @@ _mbctokata
|
|||
_mbctolower
|
||||
_mbctombb
|
||||
_mbctoupper
|
||||
_mbctype
|
||||
_mbctype DATA
|
||||
_mbsbtype
|
||||
_mbscat
|
||||
_mbschr
|
||||
|
@ -282,21 +282,21 @@ _nextafter
|
|||
_onexit
|
||||
_open
|
||||
_open_osfhandle
|
||||
_osmajor_dll
|
||||
_osminor_dll
|
||||
_osmode_dll
|
||||
_osver_dll
|
||||
_osversion_dll
|
||||
_osmajor_dll=CRTDLL__osmajor_dll DATA
|
||||
_osminor_dll=CRTDLL__osminor_dll DATA
|
||||
_osmode_dll=CRTDLL__osmode_dll DATA
|
||||
_osver_dll=_osver DATA
|
||||
_osversion_dll=CRTDLL__osversion_dll DATA
|
||||
_pclose
|
||||
_pctype_dll
|
||||
_pgmptr_dll
|
||||
_pctype_dll=_pctype DATA
|
||||
_pgmptr_dll=_pgmptr DATA
|
||||
_pipe
|
||||
_popen
|
||||
_purecall
|
||||
_putch
|
||||
_putenv
|
||||
_putw
|
||||
_pwctype_dll
|
||||
_pwctype_dll=_pwctype DATA
|
||||
_read
|
||||
_rmdir
|
||||
_rmtmp
|
||||
|
@ -321,7 +321,7 @@ _spawnve
|
|||
_spawnvp
|
||||
_spawnvpe
|
||||
_splitpath
|
||||
_stat
|
||||
_stat=CRTDLL__stat
|
||||
_statusfp
|
||||
_strcmpi=NTDLL._strcmpi
|
||||
_strdate
|
||||
|
@ -343,14 +343,14 @@ _strspnp
|
|||
_strtime
|
||||
_strupr=NTDLL._strupr
|
||||
_swab
|
||||
_sys_errlist
|
||||
_sys_nerr_dll
|
||||
_sys_errlist DATA
|
||||
_sys_nerr_dll=_sys_nerr DATA
|
||||
_tell
|
||||
_tempnam
|
||||
_timezone_dll
|
||||
_timezone_dll=_timezone
|
||||
_tolower=NTDLL._tolower
|
||||
_toupper=NTDLL._toupper
|
||||
_tzname
|
||||
_tzname DATA
|
||||
_tzset
|
||||
_ultoa=NTDLL._ultoa
|
||||
_ultow=NTDLL._ultow
|
||||
|
@ -370,9 +370,9 @@ _wcsnset
|
|||
_wcsrev
|
||||
_wcsset
|
||||
_wcsupr
|
||||
_winmajor_dll
|
||||
_winminor_dll
|
||||
_winver_dll
|
||||
_winmajor_dll=_winmajor DATA
|
||||
_winminor_dll=_winminor DATA
|
||||
_winver_dll=_winver DATA
|
||||
_write
|
||||
_wtoi=NTDLL._wtoi
|
||||
_wtol=NTDLL._wtol
|
||||
|
|
296
reactos/lib/crtdll/dllmain.c
Normal file
296
reactos/lib/crtdll/dllmain.c
Normal file
|
@ -0,0 +1,296 @@
|
|||
/* $Id: dllmain.c 12852 2005-01-06 13:58:04Z mf $
|
||||
*
|
||||
* dllmain.c
|
||||
*
|
||||
* ReactOS MSVCRT.DLL Compatibility Library
|
||||
*
|
||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||
*
|
||||
* This source code is offered for use in the public domain. You may
|
||||
* use, modify or distribute it freely.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful but
|
||||
* WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
|
||||
* DISCLAMED. This includes but is not limited to warrenties of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* $Revision: 1.24 $
|
||||
* $Author: mf $
|
||||
* $Date: 2005-01-06 14:58:04 +0100 (Thu, 06 Jan 2005) $
|
||||
*
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
#include <msvcrt/internal/tls.h>
|
||||
#include <msvcrt/stdlib.h>
|
||||
#include <msvcrt/wine/msvcrt.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <msvcrt/msvcrtdbg.h>
|
||||
|
||||
|
||||
/* EXTERNAL PROTOTYPES ********************************************************/
|
||||
|
||||
//void __fileno_init(void);
|
||||
extern BOOL __fileno_init(void);
|
||||
extern int BlockEnvToEnvironA(void);
|
||||
extern int BlockEnvToEnvironW(void);
|
||||
extern void FreeEnvironment(char **environment);
|
||||
|
||||
extern unsigned int _osver;
|
||||
extern unsigned int _winminor;
|
||||
extern unsigned int _winmajor;
|
||||
extern unsigned int _winver;
|
||||
|
||||
unsigned int CRTDLL__basemajor_dll;
|
||||
unsigned int CRTDLL__baseminor_dll;
|
||||
unsigned int CRTDLL__baseversion_dll;
|
||||
unsigned int CRTDLL__cpumode_dll;
|
||||
unsigned int CRTDLL__osmajor_dll;
|
||||
unsigned int CRTDLL__osminor_dll;
|
||||
unsigned int CRTDLL__osmode_dll;
|
||||
unsigned int CRTDLL__osversion_dll;
|
||||
|
||||
extern char* _acmdln; /* pointer to ascii command line */
|
||||
extern wchar_t* _wcmdln; /* pointer to wide character command line */
|
||||
#undef _environ
|
||||
extern char** _environ; /* pointer to environment block */
|
||||
extern char** __initenv; /* pointer to initial environment block */
|
||||
extern wchar_t** _wenviron; /* pointer to environment block */
|
||||
extern wchar_t** __winitenv; /* pointer to initial environment block */
|
||||
|
||||
|
||||
|
||||
/* dev_t is a short in crtdll but an unsigned int in msvcrt */
|
||||
typedef short crtdll_dev_t;
|
||||
|
||||
struct crtdll_stat
|
||||
{
|
||||
crtdll_dev_t st_dev;
|
||||
_ino_t st_ino;
|
||||
unsigned short st_mode;
|
||||
short st_nlink;
|
||||
short st_uid;
|
||||
short st_gid;
|
||||
crtdll_dev_t st_rdev;
|
||||
_off_t st_size;
|
||||
time_t st_atime;
|
||||
time_t st_mtime;
|
||||
time_t st_ctime;
|
||||
};
|
||||
|
||||
/* convert struct _stat from crtdll format to msvcrt format */
|
||||
static void convert_struct_stat( struct crtdll_stat *dst, const struct _stat *src )
|
||||
{
|
||||
dst->st_dev = src->st_dev;
|
||||
dst->st_ino = src->st_ino;
|
||||
dst->st_mode = src->st_mode;
|
||||
dst->st_nlink = src->st_nlink;
|
||||
dst->st_uid = src->st_uid;
|
||||
dst->st_gid = src->st_gid;
|
||||
dst->st_rdev = src->st_rdev;
|
||||
dst->st_size = src->st_size;
|
||||
dst->st_atime = src->st_atime;
|
||||
dst->st_mtime = src->st_mtime;
|
||||
dst->st_ctime = src->st_ctime;
|
||||
}
|
||||
|
||||
/* from msvcrt */
|
||||
extern void __getmainargs( int *argc, char ***argv, char ***envp,
|
||||
int expand_wildcards, int *new_mode );
|
||||
|
||||
/* LIBRARY GLOBAL VARIABLES ***************************************************/
|
||||
|
||||
HANDLE hHeap = NULL; /* handle for heap */
|
||||
|
||||
|
||||
/* LIBRARY ENTRY POINT ********************************************************/
|
||||
|
||||
BOOL
|
||||
STDCALL
|
||||
DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
|
||||
{
|
||||
switch (dwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH://1
|
||||
/* initialize version info */
|
||||
DPRINT("Attach %d\n", nAttachCount);
|
||||
|
||||
_osver = GetVersion();
|
||||
|
||||
CRTDLL__basemajor_dll = (_osver >> 24) & 0xFF;
|
||||
CRTDLL__baseminor_dll = (_osver >> 16) & 0xFF;
|
||||
CRTDLL__baseversion_dll = (_osver >> 16);
|
||||
CRTDLL__cpumode_dll = 1; /* FIXME */
|
||||
CRTDLL__osmajor_dll = (_osver >>8) & 0xFF;
|
||||
CRTDLL__osminor_dll = (_osver & 0xFF);
|
||||
CRTDLL__osmode_dll = 1; /* FIXME */
|
||||
CRTDLL__osversion_dll = (_osver & 0xFFFF);
|
||||
|
||||
_winmajor = (_osver >> 8) & 0xFF;
|
||||
_winminor = _osver & 0xFF;
|
||||
_winver = (_winmajor << 8) + _winminor;
|
||||
_osver = (_osver >> 16) & 0xFFFF;
|
||||
hHeap = HeapCreate(0, 100000, 0);
|
||||
if (hHeap == NULL)
|
||||
return FALSE;
|
||||
if (!__fileno_init())
|
||||
return FALSE;
|
||||
|
||||
/* create tls stuff */
|
||||
if (!CreateThreadData())
|
||||
return FALSE;
|
||||
|
||||
if (BlockEnvToEnvironA() < 0)
|
||||
return FALSE;
|
||||
|
||||
if (BlockEnvToEnvironW() < 0)
|
||||
{
|
||||
FreeEnvironment((char**)_wenviron);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
_acmdln = _strdup(GetCommandLineA());
|
||||
_wcmdln = _wcsdup(GetCommandLineW());
|
||||
|
||||
/* FIXME: more initializations... */
|
||||
|
||||
/* FIXME: Initialization of the WINE code */
|
||||
msvcrt_init_mt_locks();
|
||||
|
||||
DPRINT("Attach done\n");
|
||||
break;
|
||||
|
||||
case DLL_THREAD_ATTACH://2
|
||||
break;
|
||||
|
||||
case DLL_THREAD_DETACH://4
|
||||
FreeThreadData(NULL);
|
||||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH://0
|
||||
DPRINT("Detach %d\n", nAttachCount);
|
||||
/* FIXME: more cleanup... */
|
||||
_fcloseall();
|
||||
|
||||
/* destroy tls stuff */
|
||||
DestroyThreadData();
|
||||
|
||||
if (__winitenv && __winitenv != _wenviron)
|
||||
FreeEnvironment((char**)__winitenv);
|
||||
if (_wenviron)
|
||||
FreeEnvironment((char**)_wenviron);
|
||||
|
||||
if (__initenv && __initenv != _environ)
|
||||
FreeEnvironment(__initenv);
|
||||
if (_environ)
|
||||
FreeEnvironment(_environ);
|
||||
|
||||
/* destroy heap */
|
||||
HeapDestroy(hHeap);
|
||||
|
||||
DPRINT("Detach done\n");
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* __GetMainArgs (CRTDLL.@)
|
||||
*/
|
||||
void __GetMainArgs( int *argc, char ***argv, char ***envp, int expand_wildcards )
|
||||
{
|
||||
int new_mode = 0;
|
||||
__getmainargs( argc, argv, envp, expand_wildcards, &new_mode );
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _fstat (CRTDLL.@)
|
||||
*/
|
||||
int CRTDLL__fstat(int fd, struct crtdll_stat* buf)
|
||||
{
|
||||
extern int _fstat(int,struct _stat*);
|
||||
struct _stat st;
|
||||
int ret;
|
||||
|
||||
if (!(ret = _fstat( fd, &st ))) convert_struct_stat( buf, &st );
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _stat (CRTDLL.@)
|
||||
*/
|
||||
int CRTDLL__stat(const char* path, struct crtdll_stat * buf)
|
||||
{
|
||||
extern int _stat(const char*,struct _stat*);
|
||||
struct _stat st;
|
||||
int ret;
|
||||
|
||||
if (!(ret = _stat( path, &st ))) convert_struct_stat( buf, &st );
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strdec (CRTDLL.@)
|
||||
*/
|
||||
char *_strdec(const char *str1, const char *str2)
|
||||
{
|
||||
return (char *)(str2 - 1);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strinc (CRTDLL.@)
|
||||
*/
|
||||
char *_strinc(const char *str)
|
||||
{
|
||||
return (char *)(str + 1);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strncnt (CRTDLL.@)
|
||||
*/
|
||||
size_t _strncnt(const char *str, size_t maxlen)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
return (len > maxlen) ? maxlen : len;
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strnextc (CRTDLL.@)
|
||||
*/
|
||||
unsigned int _strnextc(const char *str)
|
||||
{
|
||||
return (unsigned int)str[0];
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strninc (CRTDLL.@)
|
||||
*/
|
||||
char *_strninc(const char *str, size_t len)
|
||||
{
|
||||
return (char *)(str + len);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* _strspnp (CRTDLL.@)
|
||||
*/
|
||||
char *_strspnp( const char *str1, const char *str2)
|
||||
{
|
||||
str1 += strspn( str1, str2 );
|
||||
return *str1 ? (char*)str1 : NULL;
|
||||
}
|
||||
|
||||
/* EOF */
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
PATH_TO_MSVCRT = ../msvcrt
|
||||
TARGET_DEFONLY = yes
|
||||
|
||||
TARGET_TYPE = dynlink
|
||||
|
||||
|
@ -15,489 +15,39 @@ TARGET_BASE = $(TARGET_BASE_LIB_CRTDLL)
|
|||
# don't remove @nn from exported symbols - needed so dlltool doesn't mess up mangled c++ exports
|
||||
RM_AT_FROM_SYMBOLS = no
|
||||
|
||||
TARGET_LFLAGS = -nostartfiles -nostdlib
|
||||
TARGET_LFLAGS = -nostartfiles -nostdlib --enable-stdcall-fixup
|
||||
|
||||
TARGET_CFLAGS = -D_MSVCRT_LIB_ -Werror -Wall
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
TARGET_CFLAGS += -D_DISABLE_TIDENTS
|
||||
|
||||
TARGET_SDKLIBS = string.a kernel32.a ntdll.a
|
||||
TARGET_SDKLIBS = crt.a string.a kernel32.a ntdll.a wine.a
|
||||
|
||||
TARGET_GCCLIBS = gcc
|
||||
|
||||
TARGET_CFLAGS = -D__USE_W32API -Wall -Werror
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
TARGET_CFLAGS += \
|
||||
-D_DISABLE_TIDENTS \
|
||||
-D__USE_W32API \
|
||||
-D__REACTOS__ \
|
||||
-D_WIN32_IE=0x600 \
|
||||
-D_WIN32_WINNT=0x501 \
|
||||
-DUSE_MSVCRT_PREFIX \
|
||||
-D_MT
|
||||
|
||||
TARGET_OBJECTS = $(TARGET_NAME).o
|
||||
|
||||
TARGET_CLEAN = \
|
||||
conio/*.o \
|
||||
ctype/*.o \
|
||||
direct/*.o \
|
||||
dirent/*.o \
|
||||
except/*.o \
|
||||
float/*.o \
|
||||
io/*.o \
|
||||
libc/*.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
|
||||
|
||||
TARGET_CLEAN = dllmain.o
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
include $(TOOLS_PATH)/helper.mk
|
||||
|
||||
|
||||
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/isascii.o \
|
||||
$(PATH_TO_MSVCRT)/ctype/iscntrl.o \
|
||||
ctype/isctype.o \
|
||||
$(PATH_TO_MSVCRT)/ctype/isgraph.o \
|
||||
$(PATH_TO_MSVCRT)/ctype/isprint.o \
|
||||
$(PATH_TO_MSVCRT)/ctype/ispunct.o \
|
||||
$(PATH_TO_MSVCRT)/ctype/isupper.o
|
||||
|
||||
# REMOVED CTYPE ENTRIES:
|
||||
# $(PATH_TO_MSVCRT)/ctype/isalpha.o \
|
||||
# $(PATH_TO_MSVCRT)/ctype/iscsym.o \
|
||||
# $(PATH_TO_MSVCRT)/ctype/isdigit.o \
|
||||
# $(PATH_TO_MSVCRT)/ctype/islower.o \
|
||||
# $(PATH_TO_MSVCRT)/ctype/isspace.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 \
|
||||
|
||||
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 \
|
||||
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/i386/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 \
|
||||
$(PATH_TO_MSVCRT)/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 \
|
||||
$(PATH_TO_MSVCRT)/stdio/vfprintf.o \
|
||||
$(PATH_TO_MSVCRT)/stdio/vfscanf.o \
|
||||
$(PATH_TO_MSVCRT)/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
|
||||
|
||||
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/wcstod.o \
|
||||
stdlib/wcstomb.o
|
||||
|
||||
STRING_OBJECTS = \
|
||||
string/lasttok.o \
|
||||
$(PATH_TO_MSVCRT)/string/strcoll.o \
|
||||
$(PATH_TO_MSVCRT)/string/strdup.o \
|
||||
string/strerror.o \
|
||||
$(PATH_TO_MSVCRT)/string/strrev.o \
|
||||
$(PATH_TO_MSVCRT)/string/strset.o \
|
||||
$(PATH_TO_MSVCRT)/string/strtok.o \
|
||||
$(PATH_TO_MSVCRT)/string/strxfrm.o
|
||||
|
||||
# string/str_old.o \
|
||||
# $(PATH_TO_MSVCRT)/string/memicmp.o \
|
||||
# $(PATH_TO_MSVCRT)/string/stricmp.o \
|
||||
# $(PATH_TO_MSVCRT)/string/strlwr.o \
|
||||
# $(PATH_TO_MSVCRT)/string/strnicmp.o \
|
||||
# $(PATH_TO_MSVCRT)/string/strpbrk.o \
|
||||
# $(PATH_TO_MSVCRT)/string/strstr.o \
|
||||
# $(PATH_TO_MSVCRT)/string/strupr.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/time.o \
|
||||
$(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 \
|
||||
time/tz_vars.o
|
||||
|
||||
WSTRING_OBJECTS = \
|
||||
wchar/wlasttok.o \
|
||||
wchar/wcscoll.o \
|
||||
$(PATH_TO_MSVCRT)/wstring/wcsdup.o \
|
||||
$(PATH_TO_MSVCRT)/wstring/wcsrev.o \
|
||||
$(PATH_TO_MSVCRT)/wstring/wcsset.o \
|
||||
$(PATH_TO_MSVCRT)/wstring/wcstok.o \
|
||||
$(PATH_TO_MSVCRT)/wstring/wcsxfrm.o
|
||||
|
||||
# wchar/wcstod.o \
|
||||
# wchar/wcstok.o \
|
||||
# wchar/wcstol.o \
|
||||
# wchar/wtoi.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcscspn.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcsicmp.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcslwr.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcspbrk.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcsspn.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcsstr.o \
|
||||
# $(PATH_TO_MSVCRT)/wstring/wcsupr.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)
|
||||
OBJECTS = dllmain.o
|
||||
|
||||
$(TARGET_NAME).o: $(OBJECTS)
|
||||
$(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
Loading…
Reference in a new issue