summaryrefslogtreecommitdiffstats
path: root/public/oak/bin/mipsmk.inc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/oak/bin/mipsmk.inc268
1 files changed, 268 insertions, 0 deletions
diff --git a/public/oak/bin/mipsmk.inc b/public/oak/bin/mipsmk.inc
new file mode 100644
index 000000000..d3aa35b94
--- /dev/null
+++ b/public/oak/bin/mipsmk.inc
@@ -0,0 +1,268 @@
+!IF 0
+
+Copyright (c) 1994-1996 Microsoft Corporation
+
+Module Name:
+
+ mipsmk.inc
+
+Abstract:
+
+ This module contains the MIPs specific build controls. It is included
+ by makefile.def.
+
+Revision History:
+
+!ENDIF
+
+#
+# Mips option control
+#
+
+!undef USE_MAPSYM
+
+UMBASE=$(UMBASE:*=mips)
+UMLIBS=$(UMLIBS:*=mips)
+NTRES=$(NTRES:*=mips)
+UMRES=$(UMRES:*=mips)
+UMOBJS=$(UMOBJS:*=mips)
+LINKLIBS=$(LINKLIBS:*=mips)
+GDI_DRIVER_LIBS=$(GDI_DRIVER_LIBS:*=mips)
+DLLBASE=$(DLLBASE:*=mips)
+DLLDEF=$(DLLDEF:*=mips)
+MACHINE_TARGETLIBS=$(MACHINE_TARGETLIBS:*=mips)
+TARGET=$(TARGET:*=mips)
+DYNLINK_LIB=$(DYNLINK_LIB:*=mips)
+TARGETEXEFILES=$(TARGETEXEFILES:*=mips)
+TARGETLIBFILES=$(TARGETLIBFILES:*=mips)
+TARGETOBJFILES=$(TARGETOBJFILES:*=mips)
+UMOBJFILES=$(UMOBJFILES:*=mips)
+UMEXEFILES=$(UMEXEFILES:*=mips)
+HEADERFILE=$(HEADERFILE:*=mips)
+HEADEROBJNAME=$(HEADEROBJNAME:*=mips)
+HEADEROBJ=$(HEADEROBJ:*=mips)
+PRECOMPILED=$(PRECOMPILED:*=mips)
+PRECOMPILED_CXX=$(PRECOMPILED_CXX:*=mips)
+PRECOMPILED_TARGET=$(PRECOMPILED_TARGET:*=mips)
+MFC_STATIC_LIB=$(MFC_STATIC_LIB:*=mips)
+CRT_LIB_PATH=$(CRT_LIB_PATH:*=mips)
+SDK_LIB_PATH=$(SDK_LIB_PATH:*=mips)
+ORDER=$(ORDER:*=mips)
+
+!ifdef NTTARGETFILES
+NTTARGETFILES=$(NTTARGETFILES:*=mips)
+!endif
+!ifdef NTTARGETFILE0
+NTTARGETFILE0=$(NTTARGETFILE0:*=mips)
+!endif
+!ifdef NTTARGETFILE1
+NTTARGETFILE1=$(NTTARGETFILE1:*=mips)
+!endif
+
+!IF "$(GPSIZE)" != "0"
+
+!ifdef DEBUG_CRTS
+LIBC_LIB=$(SDK_LIB_PATH)\smalld.lib $(LIBC_LIB)
+!else
+LIBC_LIB=$(SDK_LIB_PATH)\small.lib $(LIBC_LIB)
+!endif
+
+LINKGPSIZE=-gpsize:$(GPSIZE)
+
+!ENDIF
+
+LINKER_FLAGS = $(LINKER_FLAGS) -merge:.xdata=.rdata
+
+MIPS_ENDIAN=MIPSEL
+
+ENTRY_SUFFIX=
+GDI_ENTRY_SUFFIX=
+
+!IFDEF MIPS_WARNING_LEVEL
+MSC_WARNING_LEVEL=$(MIPS_WARNING_LEVEL)
+!ENDIF
+
+!ifdef MIPS_PERFFLAGS
+PERFFLAGS = $(MIPS_PERFFLAGS)
+!endif
+
+DEFAULT_MSC_OPT = $(DEFAULT_MSC_OPT:/Oxs=/Ox)
+
+# Set MSC_OPTIMIZATION.
+# Order of precedence:
+# Platform specific override
+# Environment variable
+# System Default
+
+!if defined(MIPS_OPTIMIZATION)
+MSC_OPTIMIZATION=$(MIPS_OPTIMIZATION)
+!elseif !defined(MSC_OPTIMIZATION)
+MSC_OPTIMIZATION=$(DEFAULT_MSC_OPT)
+!endif
+
+DBGFLAGS=$(DBGFLAGS) $(MSC_OPTIMIZATION)
+
+!IFDEF MIPS_CPPFLAGS
+MSC_CPPFLAGS=$(MIPS_CPPFLAGS)
+!ENDIF
+
+#
+# Now a bunch of MIPS stuff
+#
+
+!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)\mips^\
+! endif
+!endif
+
+!ifdef BROWSER_INFO
+DBGFLAGS=$(DBGFLAGS) /FR$(MAKEDIR)\$(_OBJ_DIR)\mips^\
+!endif
+
+!IFDEF NTBBT
+DBGFLAGS=$(DBGFLAGS) /Z7
+LINKER_FLAGS=$(LINKER_FLAGS) -debug:full -debugtype:cv,fixup
+USE_PDB=1
+!ENDIF
+
+!IFNDEF MIPS_R3000
+MIPS_CPU=-DR4000 -D_M_MRX000=4000
+MIPS_TRAP_FILE=x4trap.obj
+!ELSE
+MIPS_CPU=-DR3000 -D_M_MRX000=3000
+MIPS_TRAP_FILE=x3trap.obj
+!ENDIF
+
+MIPS_ASM_DEFINES=$(MIPS_ASMCPP)
+ENV_DEFINES=$(LIBC_DEFINES) $(C_DEFINES) $(NET_C_DEFINES) $(MSC_CPPFLAGS) $(NTCPPFLAGS)
+
+STD_DEFINES=-DENABLE_RESTRICTED -DMIPS=1 -D_MIPS_=1 -D$(MIPS_ENDIAN) -DNO_EXT_KEYS -DCONDITION_HANDLING=1 $(STD_DEFINES)
+
+STDFLAGS=-c
+MS_MIPS=1
+
+!if 0
+# Enable when /GF and /cbstring are tested together
+! ifdef NO_READONLY_STRINGS
+STRING_POOLING = /Gf
+! else
+STRING_POOLING = /GF
+! endif
+!else
+# STRING_POOLING = /Gf
+STRING_POOLING=
+!endif
+
+!ifdef USE_NATIVE_EH
+EH_FLAGS=/GX /GR
+!else
+EH_FLAGS=/GX- /GR-
+!endif
+
+!ifndef DOWNLEVEL_COMPILE
+DOWNLEVEL_COMPILE = 0
+!endif
+!if $(DOWNLEVEL_COMPILE)
+MIPS3_INSTR = -QMmips2
+MACHINE_TARGETLIBS=$(MACHINE_TARGETLIBS) $(SDK_LIB_PATH)\tlssup35.obj
+!else
+MIPS3_INSTR = -QMmips3 -d2QMGtlsa
+!endif
+
+MSC_C_COMPILER_NAME=cl -nologo
+
+CDEFINES=$(STD_DEFINES) $(MIPS_CPU) $(TARGET_DBG_DEFINES) $(ENV_DEFINES)
+CFLAGS=$(MIPS_FLAGS) $(NTMIPSFLAGS) $(STDFLAGS) $(DBGFLAGS) $(PERFFLAGS) $(USER_C_FLAGS)
+AFLAGS=-Gy $(MIPS_FLAGS) $(NTMIPSFLAGS) $(STDFLAGS) $(DBGFLAGS) $(PERFFLAGS) $(MIPS3_INSTR)
+
+MIPS_CDEFINES=$(CDEFINES)
+MIPS_CFLAGS=$(CFLAGS) -Zel -Zp8 -Gy $(MSC_WARNING_LEVEL) -QMOb4000 $(MIPS3_INSTR) $(CBSTRING) $(EH_FLAGS) $(STRING_POOLING) -Gt$(GPSIZE)
+MIPS_CFLAGS=$(MIPS_CFLAGS:-Qmips=-QM)
+
+C_PREPROCESSOR_NAME = $(MSC_C_COMPILER_NAME)
+C_COMPILER_NAME = $(MSC_C_COMPILER_NAME)
+CXX_COMPILER_NAME = $(MSC_C_COMPILER_NAME)
+MIPS_ASSEMBLER_NAME = $(MSC_C_COMPILER_NAME)
+
+GLOBAL_C_FLAGS = -Imips\ -I. $(INCPATH0) $(CDEFINES) $(MIPS_CFLAGS) \
+ -DFPO=1 -D__stdcall= -D__cdecl= -D_LANGUAGE_C -DLANGUAGE_C $(MFC_FLAGS)
+
+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_PREPROCESSOR = $(C_PREPROCESSOR_NAME) $(C_PREPROCESSOR_FLAGS)
+C_COMPILER = $(C_COMPILER_NAME) $(C_COMPILER_FLAGS)
+CXX_COMPILER = $(CXX_COMPILER_NAME) $(CXX_COMPILER_FLAGS)
+
+ECHO_MSG=ClMips $< " $(C_COMPILER) "
+ECHO_CXX_MSG=ClMips $< " $(CXX_COMPILER) "
+
+ECHO_PRECOMPILED_MSG1=CpMips $(PRECOMPILED_INCLUDE) \
+ "$(C_COMPILER_NAME) $(PRECOMPILED_FLAG) $(PRECOMPILED_SOURCEFILE) \
+ $(C_COMPILER_FLAGS) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)"
+
+ECHO_PRECOMPILED_MSG2=CpMips $(PRECOMPILED_INCLUDE) \
+ "$(C_COMPILER_NAME) $(PRECOMPILED_FLAG) \
+ $(C_COMPILER_FLAGS) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)"
+
+MIPS_CRFILTER=echo SHOULDN'T NEED TO CRFILTER THIS!
+
+!if $(FREEBUILD)
+!IFNDEF MIPS_ENABLE_DIVIDE_CHECK
+MIPS_CFLAGS=$(MIPS_CFLAGS) -d2aNoDivCheck
+!ENDIF
+!ENDIF
+
+#
+# Use Mips MCL for assembler files.
+#
+
+MIPS_ASSEMBLER_FLAGS = -nologo -Gt$(GPSIZE) -Ge -c $(MIPS_CPU_SWITCHES) \
+ -Imips\ -I. $(INCPATH0) $(CDEFINES) \
+ $(AFLAGS) -D_LANGUAGE_ASSEMBLY
+
+MIPS_ASSEMBLER = $(MIPS_ASSEMBLER_NAME) $(MIPS_ASSEMBLER_FLAGS)
+
+{..\mips\}.s{$(_OBJ_DIR)\mips\}.obj:
+ @-erase $@ >nul 2>&1
+ @echo AsMips $< " $(MIPS_ASSEMBLER) "
+ @$(MIPS_ASSEMBLER_NAME) @<< -Fo$(MAKEDIR)\$@ $<
+$(MIPS_ASSEMBLER_FLAGS: =
+)
+<<NOKEEP
+
+{mips\}.s{$(_OBJ_DIR)\mips\}.obj:
+ @-erase $@ >nul 2>&1
+ @echo AsMips $< " $(MIPS_ASSEMBLER) $(MIPS_ASSEMBLER_FLAGS)"
+ @$(MIPS_ASSEMBLER_NAME) @<< -Fo$(MAKEDIR)\$@ $<
+$(MIPS_ASSEMBLER_FLAGS: =
+)
+<<NOKEEP
+
+!IFDEF CAIRO_PRODUCT
+!IFDEF _CAIROMIPSTREE
+_NTTREE=$(_CAIROMIPSTREE)
+_NTTREE_NO_SPLIT=$(_CAIROMIPSTREE_NS)
+!ENDIF
+!ELSEIFDEF _NTMIPSTREE
+_NTTREE=$(_NTMIPSTREE)
+_NTTREE_NO_SPLIT=$(_NTMIPSTREE_NS)
+!ENDIF
+
+!IFDEF _NTMIPSLIBS
+_NTLIBS=$(_NTMIPSLIBS)
+!ENDIF
+
+COPYDST=$(MIPSCOPYDST)
+LIB_COPY=ntmipscp.cmd
+
+NTTEST_LINK_OPTIONS= -base:0x10000 -entry:KiSystemStartup