Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

225 lines
6.9 KiB

# The CRT can't be built with link-time code generation because of
# LNK1237: "code gen introduced reference to non-native symbol" for intrinsics.
FORCENATIVEOBJECT = 1
TARGETPATH=obj
SOURCES =
LINKER_FLAGS=-ignore:4006
LIBRARIAN_FLAGS=-ignore:4006
!ifndef BUILD_DEBUG_CRTS
D=
DOBJ=
!else
D=d
DOBJ=_dbg
!endif
RTDLLNAME=msvcrt$(D)
SYNCHRONIZE_DRAIN=1
!IF "$(CRTLIBTYPE)" == "DLL"
TARGETNAME=$(RTDLLNAME)
TARGETTYPE=DYNLINK
TARGETPATHLIB=obj
LIBRARIAN_FLAGS=$(LIBRARIAN_FLAGS) -ignore:4102
DLLBASE=0x10100000
DLLENTRY=_CRTDLL_INIT
UMTYPE=windows
USE_NOLIBS=1
C_DEFINES = "-DDLLNAME="$(RTDLLNAME).dll"" -DNT_BUILD
DLLDEF = $(O)\ntcrt.def
CONVERT_OBJS = ..\..\..\crtw32\convert\dll$(DOBJ)\$O\convert.lib
DIRECT_OBJS = ..\..\..\crtw32\direct\dll$(DOBJ)\$O\direct.lib
DLLSTUFF_OBJS = ..\..\..\crtw32\dllstuff\dll$(DOBJ)\$O\dllstuff.lib
DOS_OBJS = ..\..\..\crtw32\dos\dll$(DOBJ)\$O\dos.lib
EH_OBJS = ..\..\..\crtw32\eh\dll$(DOBJ)\$O\eh.lib
EXEC_OBJS = ..\..\..\crtw32\exec\dll$(DOBJ)\$O\exec.lib
HEAP_OBJS = ..\..\..\crtw32\heap\dll$(DOBJ)\$O\heap.lib
HELPER_OBJS = ..\..\..\crtw32\helper\dll$(DOBJ)\$O\helper.lib
LOWIO_OBJS = ..\..\..\crtw32\lowio\dll$(DOBJ)\$O\lowio.lib
MBSTRING_OBJS = ..\..\..\crtw32\mbstring\dll$(DOBJ)\$O\mbstring.lib
MISC_OBJS = ..\..\..\crtw32\misc\dll$(DOBJ)\$O\misc.lib
STARTUP_OBJS = ..\..\..\crtw32\startup\dll$(DOBJ)\$O\startup.lib
STDIO_OBJS = ..\..\..\crtw32\stdio\dll$(DOBJ)\$O\stdio.lib
STRING_OBJS = ..\..\..\crtw32\string\dll$(DOBJ)\$O\string.lib
TIME_OBJS = ..\..\..\crtw32\time\dll$(DOBJ)\$O\time.lib
!if $(IA64)
IGNORE_LINKLIB_ABUSE=1
!endif
LINKLIBS = \
$(CONVERT_OBJS) \
$(DIRECT_OBJS) \
$(DLLSTUFF_OBJS) \
$(DOS_OBJS) \
$(EH_OBJS) \
$(EXEC_OBJS) \
$(HEAP_OBJS) \
$(HELPER_OBJS) \
$(LOWIO_OBJS) \
$(MBSTRING_OBJS) \
$(MISC_OBJS) \
$(STARTUP_OBJS) \
$(STDIO_OBJS) \
$(STRING_OBJS) \
$(TIME_OBJS) \
!if $(IA64)
# kernel32 is needed for the C_Specific_handler forwarder
$(SDK_LIB_PATH)\kernel32.lib \
!endif
..\..\..\fpw32\conv\dll$(DOBJ)\$O\conv.lib \
..\..\..\fpw32\tran\dll$(DOBJ)\$O\tran.lib
TARGETLIBS= \
$(SDK_LIB_PATH)\kernel32.lib \
$(SDK_LIB_PATH)\ntdll.lib
!ELSEIF "$(CRTLIBTYPE)" == "DLLLIB"
TARGETNAME=$(RTDLLNAME)
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\dllstuff\dlllib$(DOBJ)\$O\dllstuff.lib \
..\..\..\crtw32\eh\dlllib$(DOBJ)\$O\eh.lib \
..\..\..\crtw32\helper\dlllib$(DOBJ)\$O\helper.lib \
..\..\..\crtw32\lowio\dlllib$(DOBJ)\$O\lowio.lib \
..\..\..\crtw32\misc\dlllib$(DOBJ)\$O\misc.lib \
..\..\..\crtw32\startup\dlllib$(DOBJ)\$O\startup.lib \
..\..\..\crtw32\stdio\dlllib$(DOBJ)\$O\stdio.lib \
!if $(IA64)
..\..\..\crtw32\string\dll\$(O)\_memmove.obj \
..\..\..\crtw32\string\dll\$(O)\_memset.obj \
..\..\..\crtw32\string\dll\$(O)\_memcpy.obj \
!endif
..\..\..\crtw32\heap\dlllib$(DOBJ)\$O\heap.lib \
!if $(386)
..\..\..\fpw32\tran\dll$(DOBJ)\$(O)\ftol2.obj \
!endif
..\dll$(DOBJ)\$O\$(RTDLLNAME).lib
!ELSEIF "$(CRTLIBTYPE)" == "MT"
TARGETNAME=libcmt$(D)
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\convert\mt$(DOBJ)\$O\convert.lib \
..\..\..\crtw32\direct\mt$(DOBJ)\$O\direct.lib \
..\..\..\crtw32\dos\mt$(DOBJ)\$O\dos.lib \
..\..\..\crtw32\eh\mt$(DOBJ)\$O\eh.lib \
..\..\..\crtw32\exec\mt$(DOBJ)\$O\exec.lib \
..\..\..\crtw32\helper\mt$(DOBJ)\$O\helper.lib \
..\..\..\crtw32\lowio\mt$(DOBJ)\$O\lowio.lib \
..\..\..\crtw32\mbstring\mt$(DOBJ)\$O\mbstring.lib \
..\..\..\crtw32\misc\mt$(DOBJ)\$O\misc.lib \
..\..\..\crtw32\startup\mt$(DOBJ)\$O\startup.lib \
..\..\..\crtw32\stdio\mt$(DOBJ)\$O\stdio.lib \
..\..\..\crtw32\string\mt$(DOBJ)\$O\string.lib \
..\..\..\crtw32\time\mt$(DOBJ)\$O\time.lib \
..\..\..\crtw32\heap\mt$(DOBJ)\$O\heap.lib \
..\..\..\fpw32\conv\mt$(DOBJ)\$O\conv.lib \
..\..\..\fpw32\tran\mt$(DOBJ)\$O\tran.lib
!ELSEIF "$(CRTLIBTYPE)" == "ST"
TARGETNAME=libc$(D)
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\convert\st$(DOBJ)\$O\convert.lib \
..\..\..\crtw32\direct\st$(DOBJ)\$O\direct.lib \
..\..\..\crtw32\dos\st$(DOBJ)\$O\dos.lib \
..\..\..\crtw32\eh\st$(DOBJ)\$O\eh.lib \
..\..\..\crtw32\exec\st$(DOBJ)\$O\exec.lib \
..\..\..\crtw32\helper\st$(DOBJ)\$O\helper.lib \
..\..\..\crtw32\lowio\st$(DOBJ)\$O\lowio.lib \
..\..\..\crtw32\mbstring\st$(DOBJ)\$O\mbstring.lib \
..\..\..\crtw32\misc\st$(DOBJ)\$O\misc.lib \
..\..\..\crtw32\startup\st$(DOBJ)\$O\startup.lib \
..\..\..\crtw32\stdio\st$(DOBJ)\$O\stdio.lib \
..\..\..\crtw32\string\st$(DOBJ)\$O\string.lib \
..\..\..\crtw32\time\st$(DOBJ)\$O\time.lib \
..\..\..\crtw32\heap\st$(DOBJ)\$O\heap.lib \
..\..\..\fpw32\conv\st$(DOBJ)\$O\conv.lib \
..\..\..\fpw32\tran\st$(DOBJ)\$O\tran.lib
!ELSEIF "$(CRTLIBTYPE)" == "STP"
TARGETNAME=libcp$(D)
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\stdcpp\stp\$O\stdcpp.lib
!ELSEIF "$(CRTLIBTYPE)" == "NT"
TARGETNAME=libcntpr
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\convert\nt\$O\convert.lib \
..\..\..\crtw32\hack\nt\$O\hack.lib \
..\..\..\crtw32\helper\nt\$O\helper.lib \
..\..\..\crtw32\misc\nt\$O\misc.lib \
..\..\..\crtw32\startup\nt\$O\startup.lib \
..\..\..\crtw32\stdio\nt\$O\stdio.lib \
..\..\..\crtw32\string\nt\$O\string.lib \
..\..\..\fpw32\tran\nt\$O\tran.lib
!ELSEIF "$(CRTLIBTYPE)" == "POSIX"
TARGETNAME=libcpsx
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\convert\psx\$O\convert.lib \
..\..\..\crtw32\helper\psx\$O\helper.lib \
..\..\..\crtw32\mbstring\psx\$O\mbstring.lib \
..\..\..\crtw32\misc\psx\$O\misc.lib \
..\..\..\crtw32\startup\psx\$O\startup.lib \
..\..\..\crtw32\stdio\psx\$O\stdio.lib \
..\..\..\crtw32\string\psx\$O\string.lib \
..\..\..\crtw32\time\psx\$O\time.lib \
..\..\..\crtw32\heap\psx\$O\heap.lib \
..\..\..\fpw32\conv\psx\$O\conv.lib \
..\..\..\fpw32\tran\psx\$O\tran.lib
!ELSEIF "$(CRTLIBTYPE)" == "EXSUP"
TARGETNAME=exsup
TARGETTYPE=LIBRARY
OBJLIBFILES = \
..\..\..\crtw32\misc\nt\$(O)\exsup.obj \
..\..\..\crtw32\misc\nt\$(O)\exsup2.obj \
..\..\..\crtw32\misc\nt\$(O)\exsup3.obj \
..\..\..\crtw32\misc\nt\$(O)\sehsupp.obj \
..\..\..\crtw32\misc\nt\$(O)\setjmp.obj \
..\..\..\crtw32\misc\nt\$(O)\setjmp3.obj \
..\..\..\crtw32\misc\nt\$(O)\setjmpex.obj \
..\..\..\crtw32\misc\nt\$(O)\longjmp.obj
!ELSE
!ERROR Unsupported Library CRTLIBTYPE: $(CRTLIBTYPE)
!ENDIF
TARGETEXEFILES = $(TARGETPATH)\$(TARGET_DIRECTORY)\$(TARGETNAME).$(TARGETEXT)
!if "$(CRTLIBTYPE)" != "DLL"
PASS1_PUBLISH= \
{$(TARGETPATH)\$(TARGET_DIRECTORY)\$(TARGETNAME).lib=$(SDK_LIB_PATH)\$(TARGETNAME).lib}
!endif
# No overflow checking for the CRT
BUFFER_OVERFLOW_CHECKS=0