# ******** STRIPLIN=0 ******** # This comment line is used by an automatic cleansing program to # remove all Microsoft-proprietary information from this makefile. # ******** !if "$(LLP64)"!="1" ! if "$(BLD_SYSCRT)"!="1" DLL_VERSION=70 # Win32 VC CRT ! else DLL_VERSION=61 # Win32 System CRT ! endif !else DLL_VERSION=60 # Win64 CRT BLD_SYSCRT=1 # ... just system CRT for now !endif RETAIL_DLLCPP_NAME=msvcp$(DLL_VERSION) RETAIL_DLLCPP_NAME_UC=MSVCP$(DLL_VERSION) DEBUG_DLLCPP_NAME=msvcp$(DLL_VERSION)d DEBUG_DLLCPP_NAME_UC=MSVCP$(DLL_VERSION)D !if "$(BLD_SYSCRT)"=="1" ! if "$(LLP64)"!="1" RETAIL_LIBCPP_NAME=sysprt DEBUG_LIBCPP_NAME=sysprtd ! else RETAIL_LIBCPP_NAME=msvcprt DEBUG_LIBCPP_NAME=msvcprtd ! endif !else RETAIL_LIBCPP_NAME=msvcprt DEBUG_LIBCPP_NAME=msvcprtd !endif !if "$(BLD_SYSCRT)"!="1" RCCPP_NAME=msvcprt !else ! if "$(LLP64)"!="1" RCCPP_NAME=sysprt ! else RCCPP_NAME=sysprt64 ! endif !endif # ******** STRIPLIN=1 ******** #### # makefile - Makefile for Microsoft Visual C++ Run-Time Libraries # # Copyright (c) 1993-2001, Microsoft Corporation. All rights reserved. # # Purpose: # This makefile builds the Visual C++ run-time release libraries. # Just type NMAKE in the \MSDEV\CRT\SRC directory to build all target # libraries. # ############################################################################### # # Directories, Tools and Misc Definitions: # ############################################################################### # # Determine target CPU, defaulting to same as host CPU. # ############################################################################### !if "$(PROCESSOR_ARCHITECTURE)"=="x86" HOST_CPU = i386 !if "$(LLP64)"=="1" TARGET_CPU = IA64 CPUDIR = ia64 PREFIX=. IMP_PREFIX= !else TARGET_CPU = i386 CPUDIR = intel PREFIX=_ IMP_PREFIX=_ !endif !elseif "$(PROCESSOR_ARCHITECTURE)"=="ALPHA" HOST_CPU = ALPHA !if "$(LLP64)"=="1" TARGET_CPU = ALPHA64 CPUDIR = alpha64 PREFIX= IMP_PREFIX= CC = cl -Ap64 !else TARGET_CPU = ALPHA CPUDIR = alpha PREFIX= IMP_PREFIX= !endif !elseif "$(PROCESSOR_ARCHITECTURE)"=="MIPS" HOST_CPU = mips TARGET_CPU = mips CPUDIR = mips PREFIX= IMP_PREFIX= !elseif "$(PROCESSOR_ARCHITECTURE)"=="PPC" HOST_CPU = PPC TARGET_CPU = PPC CPUDIR = ppc PREFIX= IMP_PREFIX= !else !error makefile: unknown host CPU !endif # Build WINHEAP version of heap manager WINHEAP = YES # Build RunTimeCheck version for VC CRT only !if "$(BLD_SYSCRT)" != "1" RTC = YES !else RTC = NO !endif STDCPP_SRC = stdcpp CPPSRC_OBJS = $(CPPSRC_OBJS_RAW:*=*_obj) CPPSRC_OBJS_DLL = $(CPPSRC_OBJS_RAW_DLL:*=*_obj) # Source directories: # # These are the directories in which to run NMAKE to update the source # objects and libraries they provide. Note that there are slight # differences between the ST/MT models and the DLL model. # # The dependencies directory list DEP_DIRS is the union of the MAKE_DIRS # and MAKE_DIRS_DLL lists. # # In order to allow for auto source library calculation, each directory # name must be preceded by a tilde (~) and followed by an asterisk (*). !if "$(BLD_LIB)"=="" BLD_LIB=0 !endif !if "$(BLD_OBJ)"=="" BLD_OBJ=0 !endif # ******** STRIPLIN=0 ******** !if "$(POST_BLD)"=="" POST_BLD=0 !endif !if "$(PRE_BLD)"=="" # ******** STRIPLIN=1 ******** PRE_BLD=0 # ******** STRIPLIN=0 ******** !endif !if "$(POST_BLD)"=="1" # ******** STRIPLIN=1 ******** MAKE_DIRSP = . MAKE_DIRSP_DLL = . DEP_DIRS = . # ******** STRIPLIN=0 ******** !else !if "$(PRE_BLD)"=="1" DEP_DIRS = !else MAKE_DIRSP = crtw32\$(STDCPP_SRC) MAKE_DIRSP_DLL = crtw32\$(STDCPP_SRC) DEP_DIRS = \ crtw32\$(STDCPP_SRC) \ !endif !endif # ******** STRIPLIN=1 ******** # Source Objects: These are the objects and/or libraries which constitute # the statically linked library flavors (LIBC.LIB and LIBCMT.LIB). CPPSRC_OBJS_RAW = build\$(CPUDIR)\*\$(STDCPP_SRC).lib # Source Objects: These are the objects and/or libraries which constitute # the dynamically linked library flavor (MSVCRTx0.DLL). CPPSRC_OBJS_RAW_DLL = build\$(CPUDIR)\*\$(STDCPP_SRC).lib UPDATE_MSG = *** Updating Component Objects *** # # Define names for the primary targets of this makefile. # ############################################################################### !if "$(IFLAG)"=="" IFLAG=-i !else IFLAG= !endif !if "$(CRT_RELDIR)"=="" CRT_RELDIR = build !endif RELDIR_CPU=$(CRT_RELDIR)\$(CPUDIR) # ******** STRIPLIN=0 ******** !if "$(POST_BLD)"=="1" # ******** STRIPLIN=1 ******** DEFFILE_DIR=$(CPUDIR) DEFFILE2_DIR=. # ******** STRIPLIN=0 ******** !elseif "$(PRE_BLD)"=="1" DEFFILE_DIR=libw32\lib\$(TARGET_CPU) DEFFILE2_DIR=libw32\lib !else DEFFILE_DIR=$(RELDIR_CPU) DEFFILE2_DIR=$(RELDIR_CPU) !endif # ******** STRIPLIN=1 ******** # # Tools: # !if "$(VERBOSE)"!="1" LINKER=link -nologo LINKLIB=link -lib -nologo LINKIMPLIB=link -lib -nologo BSCMAKE=bscmake -nologo !else LINKER=link LINKLIB=link -lib LINKIMPLIB=link -lib BSCMAKE=bscmake !endif # ******** STRIPLIN=0 ******** !if "$(TARGET_CPU)"=="i386" || "$(TARGET_CPU)"=="ALPHA" || "$(TARGET_CPU)"=="ALPHA64" LINKER=$(LINKER) -ignore:4006,4102,4197 !else LINKER=$(LINKER) -ignore:4006,4197 !endif LINKLIB=$(LINKLIB) -ignore:4006 LINKIMPLIB=$(LINKIMPLIB) -WX # ******** STRIPLIN=1 ******** !if "$(TARGET_CPU)"=="IA64" LINKER=$(LINKER) -machine:IA64 LINKLIB=$(LINKLIB) -machine:IA64 LINKIMPLIB=$(LINKIMPLIB) -machine:IA64 !endif COMMON_DEFS=-D_MBCS -D_MB_MAP_DIRECT -D_CRTBLD !if "$(WINHEAP)" == "YES" COMMON_DEFS=$(COMMON_DEFS) -DWINHEAP !endif !if "$(RTC)" == "YES" COMMON_DEFS=$(COMMON_DEFS) -D_RTC !endif !if "$(BLD_SYSCRT)" == "1" COMMON_DEFS=$(COMMON_DEFS) -D_SYSCRT !endif !if "$(TARGET_CPU)"=="mips" # # NT headers require _MIPS_ to be defined for mips # COMMON_DEFS=$(COMMON_DEFS) -D_MIPS_ !endif !if "$(TARGET_CPU)"=="PPC" # # NT headers require _PPC_ to be defined for PowerPC # COMMON_DEFS=$(COMMON_DEFS) -D_PPC_ !endif WINDOWS_H_DEFS=-DWIN32_LEAN_AND_MEAN -DNOSERVICE CC_OPTS_BASE=-c -nologo -Zelp8 -W3 -WX -GFy -DWIN32 !if "$(TARGET_CPU)"=="ALPHA" CC_OPTS_BASE=$(CC_OPTS_BASE) -Gy -Gi- AS_OPTS=-nologo -Gy -D_WIN32 -DWIN32 XDEBUGTYPE=cv ZDEBUGTYPE=cv,fixup !elseif "$(TARGET_CPU)"=="ALPHA64" CC_OPTS_BASE=$(CC_OPTS_BASE) -Gy -Gi- AS_OPTS=-nologo -Gy -D_WIN32 -DWIN32 -D_WIN64 XDEBUGTYPE=cv ZDEBUGTYPE=cv,fixup !elseif "$(TARGET_CPU)"=="i386" CC_OPTS_BASE=$(CC_OPTS_BASE) -GB -Gi- AS_OPTS=-c -nologo -coff -Cx -Zm -DQUIET -D?QUIET -Di386 -D_WIN32 -DWIN32 XDEBUGTYPE=cv ZDEBUGTYPE=cv,fixup !elseif "$(TARGET_CPU)"=="IA64" # CC_OPTS_BASE=$(CC_OPTS_BASE) -Ap32 XDEBUGTYPE=both ZDEBUGTYPE=both,fixup !elseif "$(TARGET_CPU)"=="PPC" AS_OPTS= XDEBUGTYPE=cv ZDEBUGTYPE=cv,fixup !else CC_OPTS_BASE=$(CC_OPTS_BASE) -Gi- AS_OPTS=-c -nologo -D_WIN32 -DWIN32 XDEBUGTYPE=cv ZDEBUGTYPE=cv,fixup !endif CC_OPTS=$(CC_OPTS_BASE) $(WINDOWS_H_DEFS) ST_DEFINES=$(COMMON_DEFS) MT_DEFINES=$(ST_DEFINES) -D_MT DLL_DEFINES=$(MT_DEFINES) -DCRTDLL # ******** STRIPLIN=2 ******** #DLLCPP_DEFINES=$(MT_DEFINES) -D_DLL -DCRTDLL2 # ******** STRIPLIN=0 ******** DLLCPP_DEFINES=$(MT_DEFINES) -D_DLL -DCRTDLL2 -D_RETAIN_OLD_CRT_CODE=1 # ******** STRIPLIN=1 ******** RC_OPTS=-l 409 -r RC_DEFS=$(COMMON_DEFS) $(WINDOWS_H_DEFS) # ******** STRIPLIN=2 ******** #RC_INCS=-I$(V6TOOLS)\include # ******** STRIPLIN=0 ******** RC_INCS=-I$(LANGAPI)\include -I$(V6TOOLS)\include !if "$(PRE_BLD)"=="1" PDBDIR_PREFIX = ..\..\..\src\ # !else # ******** STRIPLIN=1 ******** PDBDIR_PREFIX = ..\..\ # # ******** STRIPLIN=0 ******** !endif # ******** STRIPLIN=1 ******** PDBDIR_CPU = $(RELDIR_CPU) # ******** STRIPLIN=0 ******** !if "$(PRE_BLD)"=="1" || "$(POST_BLD)"=="1" PDBDIR_CPU_DLL = $(PDBDIR_CPU)\dll_pdb !else PDBDIR_CPU_DLL = $(PDBDIR_CPU) !endif # ******** STRIPLIN=1 ******** RELEASE_LIBCPPST = $(RELDIR_CPU)\libcp.lib RELEASE_LIBCPPMT = $(RELDIR_CPU)\libcpmt.lib RELEASE_DLLCPP = $(RELDIR_CPU)\$(RETAIL_DLLCPP_NAME).dll RELEASE_IMPLIB_DLLCPP = $(RELDIR_CPU)\$(RETAIL_LIBCPP_NAME).lib RELEASE_LIBCPPST_PDB = $(PDBDIR_CPU)\libcp.pdb RELEASE_LIBCPPMT_PDB = $(PDBDIR_CPU)\libcpmt.pdb RELEASE_IMPLIBCPP_PDB = $(PDBDIR_CPU)\$(RETAIL_LIBCPP_NAME).pdb RELEASE_DLLCPP_PDB = $(PDBDIR_CPU_DLL)\$(RETAIL_DLLCPP_NAME).pdb RELEASE_LIBCPPST_DBG = $(RELDIR_CPU)\libcpd.lib RELEASE_LIBCPPMT_DBG = $(RELDIR_CPU)\libcpmtd.lib RELEASE_DLLCPP_DBG = $(RELDIR_CPU)\$(DEBUG_DLLCPP_NAME).dll RELEASE_IMPLIB_DLLCPP_DBG = $(RELDIR_CPU)\$(DEBUG_LIBCPP_NAME).lib RELEASE_LIBCPPST_DBG_PDB = $(PDBDIR_CPU)\libcpd.pdb RELEASE_LIBCPPMT_DBG_PDB = $(PDBDIR_CPU)\libcpmtd.pdb RELEASE_IMPLIBCPP_DBG_PDB = $(PDBDIR_CPU)\$(DEBUG_LIBCPP_NAME).pdb RELEASE_DLLCPP_DBG_PDB = $(PDBDIR_CPU_DLL)\$(DEBUG_DLLCPP_NAME).pdb FD_REL_STP=-Fd$(PDBDIR_PREFIX)$(RELEASE_LIBCPPST_PDB) FD_REL_MTP=-Fd$(PDBDIR_PREFIX)$(RELEASE_LIBCPPMT_PDB) FD_REL_DLLP=-Fd$(PDBDIR_PREFIX)$(RELEASE_IMPLIBCPP_PDB) FD_REL_STP_DBG=-Fd$(PDBDIR_PREFIX)$(RELEASE_LIBCPPST_DBG_PDB) FD_REL_MTP_DBG=-Fd$(PDBDIR_PREFIX)$(RELEASE_LIBCPPMT_DBG_PDB) FD_REL_DLLP_DBG=-Fd$(PDBDIR_PREFIX)$(RELEASE_IMPLIBCPP_DBG_PDB) # # Locate the scratch location for object files of various flavors. # ############################################################################### OBJROOT = build OBJDIR_PREFIX = ..\..\ # OBJCPUDIR = $(OBJROOT)\$(CPUDIR) OBJDIR_ST = $(OBJCPUDIR)\st_obj OBJDIR_MT = $(OBJCPUDIR)\mt_obj OBJDIR_DLL = $(OBJCPUDIR)\dll_obj OBJDIR_DLL_RAW = $(OBJCPUDIR)\*_obj OBJDIR_ST_DBG = $(OBJCPUDIR)\xst_obj OBJDIR_MT_DBG = $(OBJCPUDIR)\xmt_obj OBJDIR_DLL_DBG = $(OBJCPUDIR)\xdll_obj # ******** STRIPLIN=0 ******** #### # # Here are the build targets # #### !if "$(LANGAPI)" == "" all : @echo. @echo ********************************************************* @echo The environment variable LANGAPI must be set to point to @echo a copy of the LANGAPI project for the CRTL build to work. @echo ********************************************************* @echo. release st mt dll : all debug xst xmt xdll : all !elseif "$(V6TOOLS)" == "" all : @echo. @echo **************************************************** @echo The environment variable V6TOOLS must be set to point @echo to the location of the top subdirectory of the TOOLS @echo project (or other location which has a subdirectory @echo INCLUDE containing WINDOWS.H and related header files) @echo and has a subdirectory LIB (containing KERNEL32.LIB). @echo This is necessary for proper creation of build tools. @echo **************************************************** @echo. release st mt dll : all debug xst xmt xdll : all !else # ******** STRIPLIN=1 ******** all : release debug release : st mt dll debug : xst xmt xdll !endif # STRIPLIN! #### # # Directory Targets # #### $(OBJDIR_ST) $(OBJDIR_MT) $(OBJDIR_DLL) \ $(OBJDIR_ST_DBG) $(OBJDIR_MT_DBG) $(OBJDIR_DLL_DBG) \ $(CRT_RELDIR) $(RELDIR_CPU) \ !if "$(PDBDIR_CPU_DLL)"!="$(RELDIR_CPU)" # STRIPLIN! $(PDBDIR_CPU_DLL) \ !endif # STRIPLIN! : if not exist $@\* mkdir $@ #### # # Define the path to return to the main directory where nmake is revoked # #### !if "$(POST_BLD)"=="1" # STRIPLIN! CD_ROOT=. # ******** STRIPLIN=0 ******** !elseif "$(PRE_BLD)"=="1" CD_ROOT=.. !else CD_ROOT=..\.. !endif # ******** STRIPLIN=1 ******** #### # # Pseudo-target user interface: # #### stp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the ST model (LIBCP.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_STP) \ \ & echo # $(ST_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(ST_DEFINES) \ & echo. !endif st : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_ST) $(RELDIR_CPU) \ stp_env st_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_LIBCST:.lib=.bsc) $(OBJDIR_ST)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" st_p :: $(MAKE_DIRSP) !@-cd $** \ & set CL=$(CC_OPTS) $(ST_DEFINES) $(FD_REL_STP) \ & set ML=$(AS_OPTS) $(ST_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=st OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_ST) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" st_p :: $(RELEASE_LIBCPPST) !else st_p :: !endif mtp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the MT model (LIBCPMT.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_MTP) \ \ & echo # $(MT_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(MT_DEFINES) \ & echo. !endif mt : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_MT) $(RELDIR_CPU) \ mtp_env mt_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_LIBCMT:.lib=.bsc) $(OBJDIR_MT)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" mt_p :: $(MAKE_DIRSP) !@-cd $** \ & set CL=$(CC_OPTS) $(MT_DEFINES) $(FD_REL_MTP) \ & set ML=$(AS_OPTS) $(MT_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=mt OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_MT) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" mt_p :: $(RELEASE_LIBCPPMT) !else mt_p :: !endif dllp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the DLL model (MSVCPRT.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_DLLP) \ \ & echo # $(DLLCPP_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(DLLCPP_DEFINES) \ & echo. !endif dll : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL) $(RELDIR_CPU) $(PDBDIR_CPU_DLL) \ others dllp_env dll_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_IMPLIB_DLLCPP:.lib=.bsc) $(OBJDIR_DLL)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" dll_p :: $(MAKE_DIRSP_DLL) !@-cd $** \ & set CL=$(CC_OPTS) $(DLLCPP_DEFINES) $(FD_REL_DLLP) \ & set ML=$(AS_OPTS) $(DLLCPP_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=dll BLD_DLL=1 OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_DLL) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" dll_p :: $(RELEASE_DLLCPP) !else dll_p :: !endif xstp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the XST model (LIBCPD.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_STP_DBG) \ \ & echo # $(ST_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(ST_DEFINES) \ & echo. !endif xst : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_ST_DBG) $(RELDIR_CPU) \ xstp_env xst_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_LIBCST_DBG:.lib=.bsc) $(OBJDIR_ST_DBG)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" xst_p :: $(MAKE_DIRSP) !@-cd $** \ & set CL=$(CC_OPTS) $(ST_DEFINES) $(FD_REL_STP_DBG) \ & set ML=$(AS_OPTS) $(ST_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=xst BLD_DBG=1 OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_ST_DBG) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" xst_p :: $(RELEASE_LIBCPPST_DBG) !else xst_p :: !endif xmtp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the XMT model (LIBCPMTD.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_MTP_DBG) \ \ & echo # $(MT_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(MT_DEFINES) \ & echo. !endif xmt : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_MT_DBG) $(RELDIR_CPU) \ xmtp_env xmt_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_LIBCMT_DBG:.lib=.bsc) $(OBJDIR_MT_DBG)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" xmt_p :: $(MAKE_DIRSP) !@-cd $** \ & set CL=$(CC_OPTS) $(MT_DEFINES) $(FD_REL_MTP_DBG) \ & set ML=$(AS_OPTS) $(MT_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=xmt BLD_DBG=1 OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_MT_DBG) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" xmt_p :: $(RELEASE_LIBCPPMT_DBG) !else xmt_p :: !endif xdllp_env : !if "$(PRE_BLD)"!="1" && "$(BLD_LIB)"!="1" !@-echo. \ & echo # *** These are the compiler switches for the XDLL model (MSVCPRTD.LIB): \ & echo # \ & echo # CL = $(CC_OPTS_BASE) \ \ & echo # $(WINDOWS_H_DEFS) $(FD_REL_DLLP_DBG) \ \ & echo # $(DLLCPP_DEFINES) \ & echo # \ & echo # ML = $(AS_OPTS) \ \ & echo # $(DLLCPP_DEFINES) \ & echo. !endif xdll : $(OBJROOT) $(OBJCPUDIR) $(OBJDIR_DLL_DBG) $(RELDIR_CPU) $(PDBDIR_CPU_DLL) \ xothers xdllp_env xdll_p !if "$(BLD_BROWSE)"=="1" && "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" $(BSCMAKE) -o $(RELEASE_IMPLIB_DLLCPP_DBG:.lib=.bsc) $(OBJDIR_DLL_DBG)\*.sbr !endif !if "$(BLD_LIB)"!="1" !if "$(PRE_BLD)"!="1" xdll_p :: $(MAKE_DIRSP_DLL) !@-cd $** \ & set CL=$(CC_OPTS) $(DLLCPP_DEFINES) $(FD_REL_DLLP_DBG) \ & set ML=$(AS_OPTS) $(DLLCPP_DEFINES) \ & $(MAKE) -nologo $(IFLAG) -f ..\..\makefile.sub DIR=$** CPUDIR=$(CPUDIR) \ WINHEAP=$(WINHEAP) RTC=$(RTC) \ BLD_MODEL=xdll BLD_DLL=1 BLD_DBG=1 OBJDIR=$(OBJDIR_PREFIX)$(OBJDIR_DLL_DBG) \ TARGET_CPU=$(TARGET_CPU) HOST_CPU=$(HOST_CPU) \ PRE_BLD=$(PRE_BLD) POST_BLD=$(POST_BLD) _stdcpp_ \ & cd $(CD_ROOT) !endif !endif # BLD_LIB != 1 !if "$(PRE_BLD)"!="1" && "$(BLD_OBJ)"!="1" xdll_p :: $(RELEASE_DLLCPP_DBG) !else xdll_p :: !endif all_link: st_link mt_link dll_link st_link: $(RELEASE_LIBCPPST) mt_link: $(RELEASE_LIBCPPMT) dll_link: $(RELEASE_DLLCPP) !if "$(POST_BLD)"=="1" # STRIPLIN! others : xothers : # ******** STRIPLIN=0 ******** !else !if "$(PRE_BLD)"=="1" others: \ $(DEFFILE2_DIR)\$(RETAIL_LIBCPP_NAME).def \ xothers : \ $(DEFFILE2_DIR)\$(DEBUG_LIBCPP_NAME).def \ !else others : xothers : !endif !endif # ******** STRIPLIN=1 ******** # # Make Process for Static Libraries # ############################################################################### $(RELEASE_LIBCPPST): $(RELDIR_CPU) $(CPPSRC_OBJS:*=st) \ $(OBJDIR_ST)\linkcpp.rsp $(LINKLIB) -out:$@ @$(OBJDIR_ST)\linkcpp.rsp !if "$(BLD_OBJ)"!="1" $(OBJDIR_ST)\linkcpp.rsp: makefile @echo *** Creating linker response file <<$@ $(CPPSRC_OBJS:*=st) < $@ $(DEFFILE2_DIR)\$(DEBUG_LIBCPP_NAME).def : libw32\$(RCCPP_NAME).src @echo. @echo *** Creating file $@ from $** $(CC) -nologo -DLIBRARYNAME=$(DEBUG_DLLCPP_NAME_UC) $(DLLCPP_DEFINES) -D_DEBUG -EP -Tclibw32\$(RCCPP_NAME).src | sed "/^[ ]*$$/d" > $@ !endif # MSVCP70.DLL / MSVCPRT.LIB $(RELEASE_DLLCPP) : $(RELDIR_CPU) libw32\$(RCCPP_NAME).rc \ $(DEFFILE2_DIR)\$(RETAIL_LIBCPP_NAME).def $(CPPSRC_OBJS_DLL:*=dll) \ $(DLLCPP_STATIC_OBJS) \ $(V6TOOLS)\include\winver.h \ # ******** STRIPLIN=0 ******** $(LANGAPI)\include\version.h \ # ******** STRIPLIN=1 ******** $(OBJDIR_DLL)\linkp.rsp $(OBJDIR_DLL)\implibp.rsp rc $(RC_OPTS) -Fo $(@R).res $(RC_DEFS) $(RC_INCS) libw32\$(RCCPP_NAME).rc $(LINKER) @$(OBJDIR_DLL)\linkp.rsp $(LINKIMPLIB) @$(OBJDIR_DLL)\implibp.rsp !if "$(BLD_OBJ)"!="1" $(OBJDIR_DLL)\linkp.rsp: makefile @echo *** Creating linker response file <<$@ !if "$(BLD_SYSCRT)" == "1" -base:0x780C0000 !else -base:0x5E0C0000 !endif !if "$(BLD_REL_NO_DBINFO)" != "1" -debug -debugtype:$(ZDEBUGTYPE) -pdb:$(RELEASE_DLLCPP_PDB) !endif -def:$(DEFFILE2_DIR)\$(RETAIL_LIBCPP_NAME).def -dll -force:multiple -implib:$(OBJDIR_DLL)\tmpp.lib -incremental:no !if "$(LLP64)"=="1" -osversion:5.00 -subsystem:WINDOWS,5.00 !endif -map -out:$(RELEASE_DLLCPP) -release -nodefaultlib:$(RETAIL_LIBCPP_NAME).lib $(OBJS_WITH_EXPORTS_DLLCPP) $(RELEASE_DLLCPP:.dll=.res) $(CPPSRC_OBJS_DLL:*=dll) msvcrt.lib kernel32.lib < depend.sed echo s/$(LANGAPI)/$$(LANGAPI)/g | sed -f $(DEPSED_SED) >> depend.sed _depend_ :: $(DEP_DIRS) !@ cd $** \ & echo Building DEPEND.DEF for subdirectory $** ... \ & $(MKDEP) $(DEP_CINCS) *.c > depend.tmp \ & $(MKDEP) $(DEP_CINCS) *.cpp >> depend.tmp \ & $(MKDEP) $(DEP_CINCS) $(CPUSUBDIR)\*.c >> depend.tmp \ & $(MKDEP) $(DEP_CINCS) $(CPUSUBDIR)\*.cpp >> depend.tmp \ & $(MKDEP) $(DEP_AINCS) $(CPUSUBDIR)\*.asm >> depend.tmp \ & sed -f ../../depend.sed depend.tmp > depend.def \ & del depend.tmp \ & cd ..\.. !endif # ******** STRIPLIN=1 ******** #