!IF 0 Copyright (c) 1994 Microsoft Corporation Module Name: i386mk.inc Abstract: This module contains the x86 specific build controls. It is included by makefile.def. Author: Jeff Havens (jhavens) 13-Feb-1994 Revision History: !ENDIF # # x86 option control # UMBASE=$(UMBASE:*=i386) UMLIBS=$(UMLIBS:*=i386) NTRES=$(NTRES:*=i386) UMRES=$(UMRES:*=i386) UMOBJS=$(UMOBJS:*=i386) LINKLIBS=$(LINKLIBS:*=i386) DLLBASE=$(DLLBASE:*=i386) DLLDEF=$(DLLDEF:*=i386) MACHINE_TARGETLIBS=$(MACHINE_TARGETLIBS:*=i386) TARGET=$(TARGET:*=i386) DYNLINK_LIB=$(DYNLINK_LIB:*=i386) TARGETEXEFILES=$(TARGETEXEFILES:*=i386) TARGETLIBFILES=$(TARGETLIBFILES:*=i386) TARGETOBJFILES=$(TARGETOBJFILES:*=i386) UMOBJFILES=$(UMOBJFILES:*=i386) UMEXEFILES=$(UMEXEFILES:*=i386) HEADERFILE=$(HEADERFILE:*=i386) HEADEROBJNAME=$(HEADEROBJNAME:*=i386) HEADEROBJ=$(HEADEROBJ:*=i386) PRECOMPILED=$(PRECOMPILED:*=i386) PRECOMPILED_CXX=$(PRECOMPILED_CXX:*=i386) PRECOMPILED_TARGET=$(PRECOMPILED_TARGET:*=i386) !ifdef NTTARGETFILES NTTARGETFILES=$(NTTARGETFILES:*=i386) !endif !ifdef NTTARGETFILE0 NTTARGETFILE0=$(NTTARGETFILE0:*=i386) !endif !ifdef NTTARGETFILE1 NTTARGETFILE1=$(NTTARGETFILE1:*=i386) !endif !IF "$(DLLENTRY)" != "-noentry" DLLENTRY=$(DLLENTRY)@12 !ENDIF !IFDEF STD_CALL_ENTRY UMENTRY=$(UMENTRY)@4 !ENDIF ENTRY_SUFFIX=@8 GDI_ENTRY_SUFFIX=@12 !IFDEF 386_WARNING_LEVEL MSC_WARNING_LEVEL=$(386_WARNING_LEVEL) !ENDIF !IFDEF 386_OPTIMIZATION MSC_OPTIMIZATION=$(386_OPTIMIZATION) !message $(MAKEDIR)\sources (1) : Overriding default optimizations with $(386_OPTIMIZATION) !ELSE !IF "$(CBSTRING)" == "" MSC_OPTIMIZATION=$(MSC_OPTIMIZATION) /Gf /QI6 !ELSE MSC_OPTIMIZATION=$(MSC_OPTIMIZATION) /QI6 !ENDIF !ENDIF !IFDEF 386_CPPFLAGS MSC_CPPFLAGS=$(386_CPPFLAGS) !ENDIF STDFLAGS= /c /Zel /Zp8 /Gy $(CBSTRING) $(MSC_WARNING_LEVEL) $(MSC_CALL_TYPE) /G4 $(MFC_FLAGS) #LINKLIBS=$(LINKLIBS) $(BASEDIR)\public\sdk\lib\i386\int64.lib !IF "$(TARGETTYPE)"=="DRIVER" || \ "$(TARGETTYPE)"=="GDI_DRIVER" || \ "$(TARGETTYPE)"=="MINIPORT" # #Drivers don't link with link libs. # MACHINE_TARGETLIBS=$(MACHINE_TARGETLIBS) $(BASEDIR)\public\sdk\lib\i386\int64.lib !ENDIF !IF "$(386_STDCALL)" == "0" MSC_CALL_TYPE=/Gd MSC_CALL_DEFINE= !ELSE ! IF "$(386_STDCALL)" == "2" MSC_CALL_TYPE=/Gr MSC_CALL_DEFINE= ! ELSE MSC_CALL_TYPE=/Gz MSC_CALL_DEFINE=-DSTD_CALL ! ENDIF !ENDIF !IF "$(NTDEBUG)" == "retail" || "$(NTDEBUG)" == "" ! IFDEF NTNOFPO !MESSAGE $(NTMAKEENV)\i386mk.inc(1) : Overriding FPO default with NTNOFPO TARGET_DBG_DEFINES= $(TARGET_DBG_DEFINES) -DFPO=0 DBGFLAGS=$(DBGFLAGS) /Oy- ! ELSE TARGET_DBG_DEFINES= $(TARGET_DBG_DEFINES) -DFPO=1 DBGFLAGS=$(DBGFLAGS) /Oy ! ENDIF !ELSE TARGET_DBG_DEFINES= $(TARGET_DBG_DEFINES) -DFPO=0 DBGFLAGS=$(DBGFLAGS) /Oy- 386_ADBGFLAGS=$(386_ADBGFLAGS) /Zi !ENDIF # Use /Z7 instead of /Zi DBGFLAGS=$(DBGFLAGS:/Zi=/Z7) !IFDEF NTLEGO DBGFLAGS=$(DBGFLAGS) /Z7 386_ADBGFLAGS=$(386_ADBGFLAGS) /Zi LINKER_FLAGS=$(LINKER_FLAGS) -debug:full -debugtype:cv,fixup LINKER_MERGE_RDATA= !ENDIF !IF "$(BROWSER_INFO)" == "yes" BROWSER= -FR$*.sbr !ELSE BROWSER= !ENDIF # # 386 option control # ENV_DEFINES= $(MSC_CPPFLAGS) $(NTCPPFLAGS) !IF "$(HALTYPE)" == "" HALDEF= !ELSE HALDEF=-D$(HALTYPE)=1 !ENDIF STD_DEFINES= -D_X86_=1 -Di386=1 $(HALDEF) $(MSC_CALL_DEFINE) $(STD_DEFINES) CDEFINES=$(STD_DEFINES) $(TARGET_DBG_DEFINES) $(ENV_DEFINES) \ $(LIBC_DEFINES) $(C_DEFINES) $(NET_C_DEFINES) CFLAGS=$(386_FLAGS) $(NT386FLAGS) $(STDFLAGS) $(DBGFLAGS) \ $(BROWSER) $(386_PERFFLAGS) $(USER_C_FLAGS) 386_ASMFLAGS=$(386_ADBGFLAGS) $(BROWSER) $(STD_DEFINES) \ $(TARGET_DBG_DEFINES) $(ENV_DEFINES) $(ASM_DEFINES) 386_CDEFINES=$(CDEFINES) 386_CFLAGS=$(CFLAGS) CC_NAME = cl -nologo C_COMPILER_NAME = $(CC_NAME) CXX_COMPILER_NAME = $(CC_NAME) C_PREPROCESSOR_NAME = $(CC_NAME) GLOBAL_C_FLAGS = -Ii386\ -I. $(INCPATH1) $(CDEFINES) $(CFLAGS) C_COMPILER_FLAGS = $(GLOBAL_C_FLAGS) $(PRECOMPILED) $(COMPILER_WARNINGS) CXX_COMPILER_FLAGS = $(GLOBAL_C_FLAGS) $(PRECOMPILED_CXX) $(COMPILER_WARNINGS) C_PREPROCESSOR_FLAGS = $(GLOBAL_C_FLAGS) -EP -Tc C_COMPILER = $(C_COMPILER_NAME) $(C_COMPILER_FLAGS) CXX_COMPILER = $(CXX_COMPILER_NAME) $(CXX_COMPILER_FLAGS) C_PREPROCESSOR = $(C_PREPROCESSOR_NAME) $(C_PREPROCESSOR_FLAGS) 386_ASSEMBLER=ml -c -coff -Cx -nologo -Ii386\ -I. $(INCPATH1) -Zm $(386_ASMFLAGS) ECHO_MSG=$(C_COMPILER) $< ECHO_PRECOMPILED_MSG=$(C_COMPILER) /Yl$(TARGETNAME) $(HEADERFILE) $(HEADEROBJ) $(PRECOMPILED_FLAG) $(PRECOMPILED_INCLUDE) {}.c{}.asm: $(C_COMPILER_NAME) @<< /Fa $(MAKEDIR)\$(