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.
 
 
 
 
 
 

142 lines
3.5 KiB

#
# Places all of the internet binaries into the inetsrv tree.
# Also establishes some standard conventions used across the project.
#
#
# Override IISBASEDIR if you're one of those weirdos that didn't
# enlist the IIS project into the correct directory.
#
!IFNDEF IISBASEDIR
IISBASEDIR=$(PROJECT_ROOT)\iis
!ENDIF
STAXBASE=$(IISBASEDIR)\svcs
STAXINC=$(IISBASEDIR)\staxinc
STAXCORE=$(STAXBASE)\staxcore
STAXCORETARGET=$(STAXCORE)\$(_OBJ_DIR)
STAXCORELIBPATH=$(STAXCORETARGET)\$(TARGET_DIRECTORY)
!if [mkdir $(STAXCORETARGET)\$(TARGET_DIRECTORY)]
!endif
!if "$(FREEBUILD)"=="1"
### message **** FREE BUILD ***
STAXFLAVOR=rtl
!else
### message **** DEBUG BUILD ***
### DEBUG_CRTS=1
STAXFLAVOR=dbg
!endif
BUFFER_OVERFLOW_CHECKS=1
USE_MSVCRT=1
!ifdef BUILD_ALT_DIR
ALT_PROJECT_TARGET=$(BUILD_ALT_DIR)
!endif
## Note, .hlp file suggests that this be done in the environment
## and not in the sources file...
## "You usually do this in your environment, not in your sources file.
## You should do this on your build machine rather than on all of your
## developers' machines because they probably want the symbols there.
## It's easier to track. The debugger does not have to do all this hand
## waving to find the debug symbolic files that match the images themselves."
NTDBGFILES=1
NTDEBUGTYPE=both
LINKER_FLAGS=-merge:.VTABLE=.text -merge:RODATA=.text -merge:.rdata=.text -merge:.data1=.data -merge:.SHARED1=.SHARED
##
## Default system libraries
##
#
# We'll use our own COFFBASE.TXT and PLACEFIL.TXT, thank you very much.
#
## xxx: Need to merge coffbase.txt?
!IFNDEF COFFBASE_TXT_FILE
COFFBASE_TXT_FILE=$(IISBASEDIR)\coffbase.txt
!ENDIF
!IFNDEF BINPLACE_PLACEFILE
BINPLACE_PLACEFILE=$(IISBASEDIR)\staxinc\build\placefil.txt
!ENDIF
# This used to have the -y option. Now, inetsrv binaries are binplaced
# to retail, so the symbols should be binplaced to symbols\retail.
# The -y switch causes the symbols to be binplaced to the wrong directory.
### BINPLACE_FLAGS=$(BINPLACE_FLAGS)
# enable building legoizable binaries
!IFNDEF IIS_NO_BBT
NTBBT=1
!ENDIF
!IFNDEF IIS_NO_PDB
USE_PDB=1
!ENDIF
!IF $(386)
!IFNDEF IIS_NO_SYM
USE_MAPSYM=1
!ENDIF
!ENDIF
!if 0
# (DISABLED)
#
# ENABLE WARNING LEVEL 3, TREAT WARNINGS AS ERRORS
#
!IFNDEF MSC_WARNING_LEVEL
## XXX: only enable /W3
##MSC_WARNING_LEVEL=/W3 /WX
MSC_WARNING_LEVEL=/W3
!ENDIF
#
# DON'T ALLOW ANYONE TO DISABLE WARNINGS AS ERRORS.
#
# IF ANY OF THE {PLATFORM}_WARNING_LEVEL MACROS ARE DEFINED WITHOUT
# THE /WX SWITCH, APPEND /WX TO THE MACRO AND WHINE ABOUT IT.
#
!IFDEF 386_WARNING_LEVEL
! IF ("$(386_WARNING_LEVEL:/WX=X)" == "$(386_WARNING_LEVEL)") && ("$(386_WARNING_LEVEL:-WX=X)" == "$(386_WARNING_LEVEL)")
! MESSAGE 386_WARNING_LEVEL DEFINED WITHOUT /WX
386_WARNING_LEVEL=$(386_WARNING_LEVEL) /WX
! ENDIF
!endif
!ifdef AMD64_WARNING_LEVEL
! if ("$(AMD64_WARNING_LEVEL:/WX=x)" == "$(AMD64_WARNING_LEVEL)") && ("$(AMD64_WARNING_LEVEL:-WX=x)" == "$(AMD64_WARNING_LEVEL)")
! message AMD64_WARNING_LEVEL defined without /WX
AMD64_WARNING_LEVEL=$(AMD64_WARNING_LEVEL) /WX
! endif
!endif
!ifdef IA64_WARNING_LEVEL
! if ("$(IA64_WARNING_LEVEL:/WX=x)" == "$(IA64_WARNING_LEVEL)") && ("$(IA64_WARNING_LEVEL:-WX=x)" == "$(IA64_WARNING_LEVEL)")
! message IA64_WARNING_LEVEL defined without /WX
IA64_WARNING_LEVEL=$(IA64_WARNING_LEVEL) /WX
! endif
!endif
!endif
#
# Win95 Chokes if the subsystem version is 5.00
#
###SUBSYSTEM_VERSION=5.00