summaryrefslogtreecommitdiffstats
path: root/public/oak/bin/i386mk.inc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/oak/bin/i386mk.inc300
1 files changed, 300 insertions, 0 deletions
diff --git a/public/oak/bin/i386mk.inc b/public/oak/bin/i386mk.inc
new file mode 100644
index 000000000..f991c4994
--- /dev/null
+++ b/public/oak/bin/i386mk.inc
@@ -0,0 +1,300 @@
+!IF 0
+
+Copyright (c) 1994-1996 Microsoft Corporation
+
+Module Name:
+
+ i386mk.inc
+
+Abstract:
+
+ This module contains the x86 specific build controls. It is included
+ by makefile.def.
+
+Revision History:
+
+!ENDIF
+
+#
+# x86 option control
+#
+
+UMBASE=$(UMBASE:*=i386)
+UMLIBS=$(UMLIBS:*=i386)
+NTRES=$(NTRES:*=i386)
+UMRES=$(UMRES:*=i386)
+UMOBJS=$(UMOBJS:*=i386)
+LINKLIBS=$(LINKLIBS:*=i386)
+GDI_DRIVER_LIBS=$(GDI_DRIVER_LIBS:*=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)
+MFC_STATIC_LIB=$(MFC_STATIC_LIB:*=i386)
+CRT_LIB_PATH=$(CRT_LIB_PATH:*=i386)
+SDK_LIB_PATH=$(SDK_LIB_PATH:*=i386)
+ORDER=$(ORDER:*=i386)
+
+!IF "$(TARGETTYPE)"=="DRIVER" || \
+ "$(TARGETTYPE)" == "EXPORT_DRIVER" || \
+ "$(TARGETTYPE)" == "HAL" || \
+ "$(TARGETTYPE)"=="GDI_DRIVER" || \
+ "$(TARGETTYPE)"=="MINIPORT"
+#
+#Drivers don't link with link libs.
+#
+MACHINE_TARGETLIBS=$(SDK_LIB_PATH)\int64.lib $(MACHINE_TARGETLIBS)
+!ELSE
+!IF defined(USE_NTDLL) || defined (USE_NOLIBS)
+MACHINE_TARGETLIBS=$(SDK_LIB_PATH)\int64.lib $(MACHINE_TARGETLIBS)
+!ENDIF
+!ENDIF
+
+!ifdef NTTARGETFILES
+NTTARGETFILES=$(NTTARGETFILES:*=i386)
+!endif
+!ifdef NTTARGETFILE0
+NTTARGETFILE0=$(NTTARGETFILE0:*=i386)
+!endif
+!ifdef NTTARGETFILE1
+NTTARGETFILE1=$(NTTARGETFILE1:*=i386)
+!endif
+
+!IF "$(DLLENTRY)" != "-noentry"
+! IF "$(DLLENTRY:@12=)" == "$(DLLENTRY)"
+DLLENTRY=$(DLLENTRY)@12
+! ENDIF
+!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_PERFFLAGS
+PERFFLAGS = $(386_PERFFLAGS)
+!endif
+
+# Set MSC_OPTIMIZATION.
+# Order of precedence:
+# Platform specific override
+# Environment variable
+# System Default
+
+!if defined(386_OPTIMIZATION)
+MSC_OPTIMIZATION=$(386_OPTIMIZATION)
+!elseif !defined(MSC_OPTIMIZATION)
+MSC_OPTIMIZATION=$(DEFAULT_MSC_OPT)
+!endif
+
+DBGFLAGS=$(DBGFLAGS) $(MSC_OPTIMIZATION)
+
+!IFDEF 386_CPPFLAGS
+MSC_CPPFLAGS=$(386_CPPFLAGS)
+!ENDIF
+
+# Undocumented switch definitions
+# /QIfdiv- : Don't emit code to test for bad pentiums
+# /QIf : Emit FPO records for every function
+
+!ifdef NO_READONLY_STRINGS
+STRING_POOLING = /Gf
+!else
+STRING_POOLING = /GF
+!endif
+
+!ifdef USE_NATIVE_EH
+EH_FLAGS=/GX /GR
+!else
+EH_FLAGS=/GX- /GR-
+!endif
+
+!ifdef USE_INCREMENTAL_COMPILING
+C_INCREMENTAL_FLAG = /Gi /Gm
+USE_PDB_TO_COMPILE = 1
+!else
+C_INCREMENTAL_FLAG = /Gi- /Gm-
+!endif
+
+!ifndef X86_CPU_OPTIMIZATION
+X86_CPU_OPTIMIZATION=/GB
+!endif
+
+STDFLAGS= /c /Zel /Zp8 /Gy $(CBSTRING) $(MSC_WARNING_LEVEL) $(MSC_CALL_TYPE) \
+ /QIfdiv- /QIf $(X86_CPU_OPTMIZATION) $(C_INCREMENTAL_FLAG) $(EH_FLAGS) $(STRING_POOLING) $(MFC_FLAGS)
+
+!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)" == "" || "$(NTDEBUG)" == "ntsdnodbg"
+ASM_DBG_DEFINES=-DDBG=0
+! 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
+
+!ifndef USE_PDB_TO_COMPILE
+DBGFLAGS=$(DBGFLAGS:/Zi=-Z7)
+DBGFLAGS=$(DBGFLAGS:-Zi=-Z7)
+!else
+! if "$(TARGETTYPE)" == "LIBRARY"
+DBGFLAGS=$(DBGFLAGS) /Fd$(TARGETPATH)\$(TARGET_DIRECTORY)\$(TARGETNAME).pdb
+! else
+DBGFLAGS=$(DBGFLAGS) /Fd$(MAKEDIR)\$(_OBJ_DIR)\i386^\
+! endif
+!endif
+
+!ifdef BROWSER_INFO
+DBGFLAGS=$(DBGFLAGS) /FR$(MAKEDIR)\$(_OBJ_DIR)\i386^\
+!endif
+
+!IFDEF NTBBT
+DBGFLAGS=$(DBGFLAGS) /Z7
+386_ADBGFLAGS=$(386_ADBGFLAGS) /Zi
+LINKER_FLAGS=$(LINKER_FLAGS) -debug:full -debugtype:cv,fixup
+! ifndef USE_PDB
+LINKER_MERGE_RDATA=
+! endif
+!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) $(PERFFLAGS) $(USER_C_FLAGS)
+386_ASMFLAGS=$(386_ADBGFLAGS) $(STD_DEFINES) $(ASM_DBG_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)
+
+NP_COMPILER_FLAGS = $(GLOBAL_C_FLAGS) $(COMPILER_WARNINGS)
+
+C_COMPILER_FLAGS = $(NP_COMPILER_FLAGS) $(PRECOMPILED)
+CXX_COMPILER_FLAGS = $(NP_COMPILER_FLAGS) $(PRECOMPILED_CXX)
+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_CXX_MSG=$(CXX_COMPILER) $<
+
+ECHO_PRECOMPILED_MSG1=$(C_COMPILER_NAME) $(PRECOMPILED_FLAG) $(PRECOMPILED_SOURCEFILE) \
+ $(C_COMPILER_FLAGS) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)
+
+ECHO_PRECOMPILED_MSG2=$(C_COMPILER_NAME) $(PRECOMPILED_FLAG) \
+ $(C_COMPILER_FLAGS) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)
+
+
+{}.c{}.asm:
+ $(C_COMPILER_NAME) @<< /Fa $(MAKEDIR)\$(<F)
+$(C_COMPILER_FLAGS: =
+)
+<<NOKEEP
+
+{..\i386\}.asm{}.lst:
+ $(386_ASSEMBLER) /Fl$@ /Fo$(_OBJ_DIR)\i386\$(@B).obj $<
+
+{i386\}.asm{}.lst:
+ $(386_ASSEMBLER) /Fl$@ /Fo$(MAKEDIR)\$(_OBJ_DIR)\i386\$(@B).obj $<
+
+{..\i386\}.asm{$(_OBJ_DIR)\i386\}.obj:
+ $(386_ASSEMBLER) -Fo$(MAKEDIR)\$@ $<
+
+{$(_OBJ_DIR)\i386\}.asm{$(_OBJ_DIR)\i386\}.obj:
+ $(386_ASSEMBLER) -Fo$(MAKEDIR)\$@ $<
+
+{i386\}.asm{$(_OBJ_DIR)\i386\}.obj:
+ $(386_ASSEMBLER) -Fo$(MAKEDIR)\$@ $<
+
+!IF DEFINED (CAIRO_PRODUCT)
+! IF DEFINED (_CAIRO386TREE)
+_NTTREE=$(_CAIRO386TREE)
+_NTTREE_NO_SPLIT=$(_CAIRO386TREE_NS)
+! ENDIF
+!ELSEIF DEFINED (CHICAGO_PRODUCT)
+! IF DEFINED (_CHICAGO386TREE)
+_NTTREE=$(_CHICAGO386TREE)
+_NTTREE_NO_SPLIT=$(_CHICAGO386TREE_NS)
+! elseif defined(_NT386TREE)
+_NTTREE=$(_NT386TREE)
+_NTTREE_NO_SPLIT=$(_NT386TREE_NS)
+! ENDIF
+!ELSEIF DEFINED (_NT386TREE)
+_NTTREE=$(_NT386TREE)
+_NTTREE_NO_SPLIT=$(_NT386TREE_NS)
+!ENDIF
+
+!IFDEF _NT386LIBS
+_NTLIBS=$(_NT386LIBS)
+!ENDIF
+
+COPYDST=$(386COPYDST)
+LIB_COPY=nti386cp.cmd
+
+!IF "$(NTDEBUGTYPE)" == "windbg" || "$(NTDEBUGTYPE)" == "both"
+NTTEST_LINK_OPTIONS=-entry:main
+!ELSE
+NTTEST_LINK_OPTIONS=-fixed -base:0x80100000 -entry:main
+!ENDIF