143 lines
3.5 KiB
PHP
143 lines
3.5 KiB
PHP
#
|
|
# 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
|
|
|