diff options
Diffstat (limited to 'public/oak/bin/mipsmk.inc')
-rw-r--r-- | public/oak/bin/mipsmk.inc | 268 |
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 |