Source code of Windows XP (NT5)
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.
|
|
!ifndef ROOT !error ROOT must be defined in makefile !endif
# ------------------------------------------------------------- # MISC DEFAULTS # -------------------------------------------------------------
#this enables build.exe to default BUILD_ALT_DIR CHECKED_ALT_DIR=1
#TODO: examine define of USE_PRINT C_DEFINES=$(C_DEFINES) /DNT_BUILD
# If we're building retail for NT, use MSVCRT runtime. Else, use LIBCMT. Also, turn on # incremental linking if we're not building for NT and in debug more, specify the # debug CRT's. !if ("$(BUILD_PRODUCT)" == "NT") && $(FREEBUILD) USE_MSVCRT=1 !else NO_NTDLL=1 USE_LIBCMT=1 !endif
!if !$(FREEBUILD) DEBUG_CRTS=1 !if ("$(BUILD_PRODUCT)" != "NT") USE_INCREMENTAL_LINKING=1 !endif !endif
# this dissables optimization on Alpha ALPHA_OPTIMIZATION=-Od
# due to dsound bug, only define on non NT5 (BUILD_PRODUCT==NT only set on nt5!) !if "$(BUILD_PRODUCT)" == "NT" DIRECTSOUND_VERSION=0x0700 !else DIRECTSOUND_VERSION=0x0300 !endif
WIN32_WINNT_VERSION=0x0400 WIN32_WIN95_VERSION=0x0400 WIN32_IE_VERSION=0x0400 UMTYPE=windows NOT_LEAN_AND_MEAN=1 SUBSYSTEM_VERSION=4.00 MSC_WARNING_LEVEL=/W3 /WX
# this will set up /Gr /Gx flag unless we've explicitly disabled it. !if "$(DO_NOT_USE_EH)" != "1" USE_NATIVE_EH=1 !endif
# MACHINE SPECIFIC MACROS
!if $(386) _MACHINE=x86 EAT_ERRORS=2>nul: EAT_OUTPUT=1>nul: !elseif $(ALPHA) _MACHINE=alpha EAT_ERRORS= EAT_OUTPUT= !elseif $(AXP64) _MACHINE=axp64 EAT_ERRORS= EAT_OUTPUT= !elseif $(IA64) _MACHINE=ia64 EAT_ERRORS= EAT_OUTPUT= !endif
MKDIR = MKDIR $(EAT_ERRORS)
# ------------------------------------------------------------- # DIRECTORIES # -------------------------------------------------------------
!if $(FREEBUILD) _BLDROOT=$(ROOT)\build\ship !else _BLDROOT=$(ROOT)\build\debug !endif
BLDROOT=$(_BLDROOT) TOOLSROOT=$(ROOT)\tools ELEVATEDIR=$(ROOT)\build\elevated SRCROOT=$(ROOT)\src TOOLSDIR=$(TOOLSROOT)\$(_MACHINE) VCDIR=$(TOOLSDIR)\msvc50\vc ATLDIR=$(SDK_INC_PATH)\atl21 AMOVIEDIR=$(SDK_PATH)\amovie\inc ATLINCLUDE=$(ATLDIR) SDKDIR=$(ROOT)\lib\$(O) SDKDIR_DEST=$(ROOT)\lib\$(_OBJ_DIR) #QUARTZDIR=$(TOOLSDIR)\quartz SWEEPERDIR=$(VCDIR) TOOLSLIBMSVC=$(VCDIR)\lib TOOLSLIBWIN32=$(TOOLSLIBMSVC) #TOOLSLIBQUARTZ=$(QUARTZDIR)\lib TOOLSLIBSWEEPER=$(SWEEPERDIR)\lib !if $(FREEBUILD) TOOLSLIBQV=$(TOOLSDIR)\QVLib\lib\WinRel !else TOOLSLIBQV=$(TOOLSDIR)\QVLib\lib\WinDebug !endif TOOLSLIBMISC=$(TOOLSDIR)\misc\lib TOOLSLIBTRIDENT=$(TOOLSDIR)\trident\lib
PARSER=$(ROOT)\src\prims\parse.pl CPRIMS=$(SDKDIR)\cprims.h
# ------------------------------------------------------------- # INCLUDE PATH # -------------------------------------------------------------
TOOLSUTILS=$(TOOLSDIR)\utils TOOLSINCLUDE=
# $(TOOLSDIR)\directx\inc;\ # $(VCDIR)\include;\ # $(TOOLSDIR)\aactive\inc;\ # $(TOOLSDIR)\masm\include;\ # $(TOOLSDIR)\qvlib\include;\ # $(TOOLSDIR)\RL\inc;\ # $(TOOLSDIR)\misc\include;\ # $(TOOLSDIR)\quartz\include;\ # $(TOOLSDIR)\trident\include
# ------------------------------------------------------------- # TOOL # ------------------------------------------------------------- SED = sed PERL= perl
# ------------------------------------------------------------- # GLOBAL INCLUDES # -------------------------------------------------------------
APPEL_INC_DIRS= \ $(ROOT)\extinc; \ $(SRCROOT)\appel\include; \ $(ATLINCLUDE); \ $(SRCROOT)\appel; \ $(SRCROOT)\include; \ $(SDKDIR); \ $(SRCROOT)\apeldbg; \ $(AMOVIEDIR)
LM_INC_DIRS= \ $(SRCROOT)\lm\include; \ $(ATLINCLUDE); \ $(SRCROOT)\lm; \ $(SRCROOT)\include; \ $(SRCROOT)\filters\lmrtrend; \ $(SDKDIR); \ $(AMOVIEDIR)
FILTER_INC_DIRS= \ $(ATLINCLUDE); \ $(SRCROOT)\include; \ $(SRCROOT)\apeldbg; \ $(SDKDIR); \
DALITE_INC_DIRS= \ $(SRCROOT); \ $(SRCROOT)\dalite\include; \ $(ATLINCLUDE); \ $(SRCROOT)\dalite; \ $(SRCROOT)\include; \ $(SDKDIR); \
DATIME_INC_DIRS= \ $(SRCROOT); \ $(SRCROOT)\time\include; \ $(ATLINCLUDE); \ $(SRCROOT)\time; \ $(SRCROOT)\include; \ $(SRCROOT)\time\idl\obj$(BUILD_ALT_DIR)\$(TARGET_DIRECTORY); \ $(SDKDIR); \
!ifdef PROJNAME PROJROOT=$(SRCROOT)\$(PROJNAME) INCLUDES= \ $(SRCROOT); \ $(PROJROOT)\include; \ $(ATLINCLUDE); \ $(PROJROOT); \ $(SRCROOT)\include; \ $(SDKDIR); \ !endif
# ------------------------------------------------------------- # MACHINE SPECIFIC # -------------------------------------------------------------
386_STDCALL=0 #default to cdecl calling convention
# ------------------------------------------------------------- # COMPILER FLAGS # -------------------------------------------------------------
# This turns on ieee compatible floating point for Alpha only !if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" USER_C_FLAGS=$(USER_C_FLAGS) /QAieee1 !endif
# for cod files....
!if "$(COD)" == "1" USER_C_FLAGS=$(USER_C_FLAGS) /FAcs /Fa$(O)\$(@B).cod !endif
# ------------------------------------------------------------- # DEFINES # -------------------------------------------------------------
C_DEFINES = $(C_DEFINES) /DDA_MAJOR_VERSION=1 /DDA_MINOR_VERSION=0 C_DEFINES = $(C_DEFINES) /DDIRECTSOUND_VERSION=$(DIRECTSOUND_VERSION)
!if !$(FREEBUILD) C_DEFINES= /D_DEBUG /DDEBUG /D_DEBUGMEM=1 /D_USE_PRINT=1 $(C_DEFINES) DEVELOPER_BUILD=1 !else C_DEFINES = $(C_DEFINES) /D_NO_CRT=1 !endif
!if "$(DEVELOPER_BUILD)" == "1" C_DEFINES = $(C_DEFINES) /D_MEMORY_TRACKING=1 /DDEVELOPER_DEBUG=1 PERF_BUILD=1 # Turn on RTTI (/GR) for everything but retail builds USE_RTTI=1 !endif
!if "$(PERF_BUILD)" == "1" C_DEFINES = $(C_DEFINES) /DPERFORMANCE_REPORTING !endif
C_DEFINES=$(C_DEFINES) /DNOMINMAX /DSTRICT /DDIRECTDRAW_VERSION=0x0300
!if "$(_PROFILE)" == "1" C_DEFINES=$(C_DEFINES) /DPRODUCT_PROF ICECAPLIB=$(TOOLSLIBICAP)\icap.lib !endif
!if "$(_TIMING)" == "1" C_DEFINES =$(C_DEFINES) /DTIMING !endif
C_DEFINES =$(C_DEFINES) /D_ATL_STATIC_REGISTRY
# ------------------------------------------------------------- # OTHER # -------------------------------------------------------------
CONDITIONAL_INCLUDES= \ algorithm \ deque \ functional \ iterator \ list \ map \ numeric \ queue \ set \ stack \ utility \ vector \ winwlm.h \ macwin32.h \ macocidl.h \ subwtype.h \ d3dvec.inl \ d3dcom.h \ strings.h \ iostream \ libc.h \ rpcerr.h \ rpcmac.h \ macname1.h \ macpube.h \ macapi.h \ macname2.h \ streams.h \ xstddef \ string \ stdafx.h \ stdole32.tlb
|