summaryrefslogtreecommitdiffstats
path: root/private/crtlib/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'private/crtlib/makefile')
-rw-r--r--private/crtlib/makefile773
1 files changed, 773 insertions, 0 deletions
diff --git a/private/crtlib/makefile b/private/crtlib/makefile
new file mode 100644
index 000000000..f0594ae0a
--- /dev/null
+++ b/private/crtlib/makefile
@@ -0,0 +1,773 @@
+####
+#crtlib - release scheme for CRT projects
+#
+# Copyright (c) 1991-1992, Microsoft Corporation. All rights reserved.
+#
+#Purpose:
+# This makefile collects and creates all the various libs/objs/etc
+# that compose the C Run-Time (CRT) delivery files. Before building
+# this project, you must have built the following projects:
+#
+# crt32 = LIBC components
+# fp32 = floating-point math components
+#
+# This makefile is sensitive to the various CRT project names and
+# directory layout.
+#
+#Revision History:
+# 09-30-91 JCR Project created.
+# 01-25-92 GJF Added DLL support.
+# 02-27-92 GJF Fixed recursive macro def. Removed build of emulator.
+# 05-26-92 DJM POSIX support.
+#
+################################################################################
+
+!IFNDEF 386
+386=0
+!ENDIF
+!IFNDEF MIPS
+MIPS=0
+!ENDIF
+!IFNDEF ALPHA
+ALPHA=0
+!ENDIF
+!IFNDEF PPC
+PPC=0
+!ENDIF
+
+#
+# Default to building for i386 target, if no targets specified.
+#
+
+!IF !$(386)
+! IF !$(MIPS)
+! IF !$(PPC)
+! IFDEF NTMIPSDEFAULT
+MIPS=1
+! ELSE
+! IFDEF NTALPHADEFAULT
+ALPHA=1
+! ELSE
+! IFDEF NTPPCDEFAULT
+PPC=1
+! ELSE
+386=1
+! ENDIF
+! ENDIF
+! ENDIF
+! ENDIF
+! ENDIF
+!ENDIF
+
+#
+# component files from other directories
+#
+
+# single thread
+
+ROOT_SMALL=..\crt32st\small
+
+SRCDIR_SMALL=$(ROOT_SMALL)\obj\*
+
+COMPONENTS_SMALL=\
+ $(SRCDIR_SMALL)\small.lib
+
+ROOT_LIBC=..\crt32st
+ROOT_FP=..\fp32st
+
+SRCDIR_LIBC=$(ROOT_LIBC)\obj\*
+SRCDIR_FP=$(ROOT_FP)\obj\*
+
+COMPONENTS_LIBC=\
+ $(SRCDIR_LIBC)\libc.lib \
+ $(SRCDIR_FP)\conv.lib \
+ $(SRCDIR_FP)\tran.lib
+
+ROOT_CRTNT=..\crt32nt
+ROOT_FPNT=..\fp32nt
+
+SRCDIR_CRTNT=$(ROOT_CRTNT)\obj\*
+SRCDIR_FPNT=$(ROOT_FPNT)\obj\*
+
+COMPONENTS_CRTNT=\
+ $(SRCDIR_CRTNT)\libcnt.lib \
+ $(SRCDIR_FPNT)\trannt.lib
+
+# multi-thread
+
+ROOT_LIBCMT=..\crt32
+ROOT_FPMT=..\fp32
+
+SRCDIR_LIBCMT=$(ROOT_LIBCMT)\obj\*
+SRCDIR_FPMT=$(ROOT_FPMT)\obj\*
+
+COMPONENTS_LIBCMT=\
+ $(SRCDIR_LIBCMT)\libcmt.lib \
+ $(SRCDIR_FPMT)\convmt.lib \
+ $(SRCDIR_FPMT)\tranmt.lib
+
+
+# posix single thread
+
+ROOT_LIBCPSX=..\crt32psx
+ROOT_FPPSX=..\fp32st
+
+SRCDIR_LIBCPSX=$(ROOT_LIBCPSX)\obj\*
+SRCDIR_FPPSX=$(ROOT_FPPSX)\obj\*
+
+COMPONENTS_LIBCPSX=\
+ $(SRCDIR_LIBCPSX)\libcpsx.lib \
+ $(SRCDIR_FPPSX)\conv.lib \
+ $(SRCDIR_FPPSX)\tran.lib
+
+
+# optional objects for single- or multi-thread
+
+FILES_OBJECTS=binmode.obj commode.obj setargv.obj chkstk.obj
+
+COMPONENTS_OBJECTS=\
+ $(SRCDIR_LIBC)\binmode.obj \
+ $(SRCDIR_LIBC)\commode.obj \
+ $(SRCDIR_LIBC)\setargv.obj \
+ $(SRCDIR_LIBC)\chkstk.obj
+
+# dll
+
+ROOT_CRTDLL=..\crt32dll
+ROOT_FPDLL=..\fp32dll
+
+SRCDIR_CRTDLL=$(ROOT_CRTDLL)\obj\*
+SRCDIR_FPDLL=$(ROOT_FPDLL)\obj\*
+
+#COMPONENTS_CRTDLL=\
+# $(SRCDIR_CRTDLL)\libcdll.lib \
+# $(SRCDIR_FPMT)\convmt.lib \
+# $(SRCDIR_FPMT)\tranmt.lib
+
+!IF $(386)
+
+EXSUP_OBJECTS=\
+ $(ROOT_LIBCMT)\misc\obj\*\exsup.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\exsup2.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\exsup3.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\sehsupp.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\setjmp.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\setjmp3.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\setjmpex.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\longjmp.obj
+
+RELEASE_EXSUP=lib\*\exsup.lib
+
+COMPONENTS_SUPPOBJS=\
+ $(SRCDIR_CRTDLL)\crtexe.obj \
+ $(SRCDIR_CRTDLL)\crtexew.obj \
+ $(SRCDIR_CRTDLL)\crtdll.obj \
+ $(SRCDIR_CRTDLL)\dllargv.obj \
+ $(SRCDIR_CRTDLL)\dllmain.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\exsup3.obj \
+ $(ROOT_LIBCMT)\misc\obj\*\setjmp3.obj \
+ $(ROOT_LIBCMT)\lowio\obj\*\txtmode.obj \
+ $(ROOT_LIBCMT)\stdio\obj\*\ncommode.obj \
+ $(ROOT_LIBCMT)\startup\obj\*\tlssup.obj \
+ $(ROOT_LIBCMT)\startup\obj\*\atlssup.obj \
+ $(ROOT_CRTDLL)\dllstuff\obj\*\cinitexe.obj \
+ $(SRCDIR_CRTDLL)\dllsupp.obj \
+ lib\*\chkstk.obj
+
+!ELSEIF $(ALPHA) || $(MIPS)
+
+EXSUP_OBJECTS=
+RELEASE_EXSUP=
+
+COMPONENTS_SUPPOBJS=\
+ $(SRCDIR_CRTDLL)\crtexe.obj \
+ $(SRCDIR_CRTDLL)\crtexew.obj \
+ $(SRCDIR_CRTDLL)\crtdll.obj \
+ $(SRCDIR_CRTDLL)\dllargv.obj \
+ $(SRCDIR_CRTDLL)\dllmain.obj \
+ $(ROOT_LIBCMT)\lowio\obj\*\txtmode.obj \
+ $(ROOT_LIBCMT)\stdio\obj\*\ncommode.obj \
+ $(ROOT_LIBCMT)\startup\obj\*\tlssup.obj \
+ $(ROOT_CRTDLL)\dllstuff\obj\*\cinitexe.obj \
+ lib\*\chkstk.obj
+
+!ELSE
+
+EXSUP_OBJECTS=
+RELEASE_EXSUP=
+
+COMPONENTS_SUPPOBJS=\
+ $(SRCDIR_CRTDLL)\crtexe.obj \
+ $(SRCDIR_CRTDLL)\crtexew.obj \
+ $(SRCDIR_CRTDLL)\crtdll.obj \
+ $(SRCDIR_CRTDLL)\dllargv.obj \
+ $(SRCDIR_CRTDLL)\dllmain.obj \
+ $(ROOT_LIBCMT)\lowio\obj\*\txtmode.obj \
+ $(ROOT_LIBCMT)\stdio\obj\*\ncommode.obj \
+ $(ROOT_LIBCMT)\startup\obj\*\tlssup.obj \
+ $(ROOT_CRTDLL)\dllstuff\obj\*\cinitexe.obj \
+ $(ROOT_CRTDLL)\helper\obj\*\*.obj \
+ lib\*\chkstk.obj
+!ENDIF
+
+COMPONENTS_CRTDLL=\
+ $(SRCDIR_CRTDLL)\libcdll.lib \
+ $(SRCDIR_FPDLL)\convdll.lib \
+ $(SRCDIR_FPDLL)\trandll.lib
+
+# optional objects for crtdll
+
+
+# include files
+
+COMPONENTS_INCLUDES=\
+ $(ROOT_CRTDLL)\h\*.h \
+ $(ROOT_CRTDLL)\h\sys\*.h \
+
+COMPONENTS_DLLDEF=lib\*\crtdll.def
+
+# nt libs
+!IF "$(BASEDIR)" == ""
+NTLIBPATH=$(_NTDRIVE)\nt\public\sdk\lib\*
+!ELSE
+NTLIBPATH=$(BASEDIR)\public\sdk\lib\*
+!ENDIF
+
+LINKLIBS=$(NTLIBPATH)\kernel32.lib
+
+# include paths for rc
+
+RC_INCL=-I$(_NTDRIVE)\nt\public\oak\inc -I$(_NTDRIVE)\nt\public\sdk\inc \
+ -I$(_NTDRIVE)\nt\public\sdk\inc\crt
+
+# command-line defs for rc
+
+RCX86_DEFS=-D_X86_=1 -Di386=1 -DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1 \
+ -DNT_UP=1 -DNT_INST=0 -DDBG=0 -DDEVL=1 -DNOFIREWALLS -DFPO=1 \
+ -DNDEBUG -D_WIN32_=1 -D_INTL
+
+RCMIPS_DEFS=-DMIPS=1 -D_MIPS_=1 -DNO_EXT_KEYS -DWIN32_LEAN_AND_MEAN=1 \
+ -DMIPSEL -DCONDITION_HANDLING=1 -DNT_INST=0 -DJAZZ -DNT_UP=1 \
+ -DR3000 -D_M_MRX000=3000 -DDBG=0 -DDEVL=1 -DNOFIREWALLS \
+ -DNDEBUG -D_WIN32_=1 -D__stdcall= -D__cdecl= -D_INTL
+
+RCPPC_DEFS=-D_PPC_=1 -DNO_EXT_KEYS -DWIN32_LEAN_AND_MEAN=1 \
+ -DPPCEL -DCONDITION_HANDLING=1 -DNT_INST=0 -DNT_UP=1 \
+ -D_M_PPC=601 -DDBG=0 -DDEVL=1 -DNOFIREWALLS \
+ -DNDEBUG -D_WIN32_=1 -D__stdcall= -D__cdecl= -D_INTL
+#
+# release targets
+#
+
+DSTDIR_CRT=lib\*
+DSTDIR_LIBC=lib\*
+DSTDIR_LIBCMT=lib\*
+DSTDIR_LIBCPSX=lib\*
+DSTDIR_OBJECTS=lib\*
+DSTDIR_CRTDLL=lib\*
+DSTDIR_INCLUDES=include\*
+
+RELEASE_CRTNT=\
+ $(DSTDIR_LIBC)\libcntpr.lib
+
+RELEASE_SMALL=\
+ $(DSTDIR_LIBC)\SMALL.lib
+
+# single-thread lib
+RELEASE_LIBC=\
+ $(DSTDIR_LIBC)\libc.lib
+
+# multi-thread lib
+RELEASE_LIBCMT=\
+ $(DSTDIR_LIBCMT)\libcmt.lib
+
+# posix single-thread lib
+RELEASE_LIBCPSX=\
+ $(DSTDIR_LIBCPSX)\libcpsx.lib
+
+
+# optional objects for single- and multi-thread
+RELEASE_OBJECTS=\
+ $(DSTDIR_OBJECTS)\binmode.obj \
+ $(DSTDIR_OBJECTS)\commode.obj \
+ $(DSTDIR_OBJECTS)\setargv.obj \
+ $(DSTDIR_OBJECTS)\chkstk.obj
+
+# dll
+RELEASE_DLL=\
+ $(DSTDIR_CRTDLL)\crtdll.dll
+
+# dll, imports lib and optional objects
+RELEASE_CRTDLL=\
+ $(RELEASE_DLL:.dll=.lib) \
+ $(RELEASE_DLL)
+
+# include files (all models)
+RELEASE_INCLUDES=\
+ $(DSTDIR_INCLUDES)\*.h \
+ $(DSTDIR_INCLUDES)\sys\*.h
+
+
+!IF $(386)
+TARGETLIBS=$(TARGETLIBS) \
+ $(RELEASE_OBJECTS:*=i386) \
+ $(RELEASE_CRTNT:*=i386) \
+ $(RELEASE_EXSUP:*=i386) \
+ $(RELEASE_LIBC:*=i386) \
+ $(RELEASE_LIBCMT:*=i386) \
+ $(RELEASE_LIBCPSX:*=i386) \
+ $(RELEASE_CRTDLL:*=i386)
+
+# TARGETLIBS=$(RELEASE_CRTDLL:*=i386)
+
+!ELSEIF $(MIPS)
+TARGETLIBS=$(TARGETLIBS) \
+ $(RELEASE_OBJECTS:*=mips) \
+ $(RELEASE_CRTNT:*=mips) \
+ $(RELEASE_SMALL:*=mips) \
+ $(RELEASE_LIBC:*=mips) \
+ $(RELEASE_LIBCMT:*=mips) \
+ $(RELEASE_LIBCPSX:*=mips) \
+ $(RELEASE_CRTDLL:*=mips)
+
+!ELSEIF $(ALPHA)
+TARGETLIBS=$(TARGETLIBS) \
+ $(RELEASE_OBJECTS:*=alpha) \
+ $(RELEASE_CRTNT:*=alpha) \
+ $(RELEASE_SMALL:*=alpha) \
+ $(RELEASE_LIBC:*=alpha) \
+ $(RELEASE_LIBCMT:*=alpha) \
+ $(RELEASE_LIBCPSX:*=alpha) \
+ $(RELEASE_CRTDLL:*=alpha)
+
+!ELSEIF $(PPC)
+TARGETLIBS=$(TARGETLIBS) \
+ $(RELEASE_OBJECTS:*=ppc) \
+ $(RELEASE_CRTNT:*=ppc) \
+ $(RELEASE_SMALL:*=ppc) \
+ $(RELEASE_LIBC:*=ppc) \
+ $(RELEASE_LIBCMT:*=ppc) \
+ $(RELEASE_LIBCPSX:*=ppc) \
+ $(RELEASE_CRTDLL:*=ppc)
+!ENDIF
+
+all: $(TARGETLIBS)
+!IF "$(BUILDMSG)" != ""
+ echo $(BUILDMSG)
+!ENDIF
+
+includes: $(RELEASE_INCLUDES)
+!IF "$(BUILDMSG)" != ""
+ echo $(BUILDMSG)
+!ENDIF
+
+clean: cleanlib all
+
+cleanlib:
+ -erase $(TARGETLIBS)
+
+in:
+ $(_NTDRIVE)
+ cd \nt\public\sdk\lib
+ in -c "Rebuilt from current sources" $(TARGETLIBS:lib\=)
+
+out:
+ $(_NTDRIVE)
+ cd \nt\public\sdk\lib
+ out -f $(TARGETLIBS:lib\=)
+
+outdel: out
+ del $(TARGETLIBS:lib\=)
+
+resync:
+ $(_NTDRIVE)
+ cd \nt\public\sdk\lib
+ in -vi $(TARGETLIBS:lib\=)
+ ssync $(TARGETLIBS:lib\=)
+
+!IF $(386)
+release:
+ -copy $(DSTDIR_OBJECTS:*=i386)\*.obj $(_NTDRIVE)\nt\public\sdk\lib\i386
+ -copy $(DSTDIR_OBJECTS:*=i386)\*.lib $(_NTDRIVE)\nt\public\sdk\lib\i386
+ -copy $(DSTDIR_OBJECTS:*=i386)\*.dll $(_NTDRIVE)\nt\public\sdk\lib\i386
+
+!ELSEIF $(MIPS)
+release:
+ -copy $(DSTDIR_OBJECTS:*=mips)\*.obj $(_NTDRIVE)\nt\public\sdk\lib\mips
+ -copy $(DSTDIR_OBJECTS:*=mips)\*.lib $(_NTDRIVE)\nt\public\sdk\lib\mips
+ -copy $(DSTDIR_OBJECTS:*=mips)\*.dll $(_NTDRIVE)\nt\public\sdk\lib\mips
+
+!ELSEIF $(ALPHA)
+release:
+ -copy $(DSTDIR_OBJECTS:*=alpha)\*.obj $(_NTDRIVE)\nt\public\sdk\lib\alpha
+ -copy $(DSTDIR_OBJECTS:*=alpha)\*.lib $(_NTDRIVE)\nt\public\sdk\lib\alpha
+ -copy $(DSTDIR_OBJECTS:*=alpha)\*.dll $(_NTDRIVE)\nt\public\sdk\lib\alpha
+
+!ELSEIF $(PPC)
+release:
+ -copy $(DSTDIR_OBJECTS:*=ppc)\*.obj $(_NTDRIVE)\nt\public\sdk\lib\ppc
+ -copy $(DSTDIR_OBJECTS:*=ppc)\*.lib $(_NTDRIVE)\nt\public\sdk\lib\ppc
+ -copy $(DSTDIR_OBJECTS:*=ppc)\*.dll $(_NTDRIVE)\nt\public\sdk\lib\ppc
+!ENDIF
+
+
+srcrel:
+ chmode -r $(TARGETLIBS:lib\=^%_NTDRIVE^%\nt\public\sdk\lib\)
+!IF $(386)
+ upd /anfe $(DSTDIR_OBJECTS:*=i386) $(_NTDRIVE)\nt\public\sdk\lib\i386$(TARGETLIBS:lib\i386\=)
+!ELSEIF $(MIPS)
+ upd /anfe $(DSTDIR_OBJECTS:*=mips) $(_NTDRIVE)\nt\public\sdk\lib\mips$(TARGETLIBS:lib\mips\=)
+!ELSEIF $(ALPHA)
+ upd /anfe $(DSTDIR_OBJECTS:*=alpha) $(_NTDRIVE)\nt\public\sdk\lib\alpha$(TARGETLIBS:lib\alpha\=)
+!ELSEIF $(PPC)
+ upd /anfe $(DSTDIR_OBJECTS:*=ppc) $(_NTDRIVE)\nt\public\sdk\lib\ppc$(TARGETLIBS:lib\ppc\=)
+!ENDIF
+ chmode +r $(TARGETLIBS:lib\=^%_NTDRIVE^%\nt\public\sdk\lib\)
+
+#
+# common targets
+#
+
+$(RELEASE_INCLUDES): $(COMPONENTS_INCLUDES)
+ set CRTDIR=$(ROOT_CRTDLL)
+ $(ROOT_CRTDLL)\tools\win32\relinc include
+
+#
+# i386 targets
+#
+
+$(RELEASE_CRTNT:*=i386): $(COMPONENTS_CRTNT:*=i386)
+ link -lib -out:$@ @<<
+$(COMPONENTS_CRTNT:*=i386)
+<<
+
+$(RELEASE_LIBC:*=i386): $(COMPONENTS_LIBC:*=i386)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBC:*=i386)
+<<
+
+$(RELEASE_LIBCMT:*=i386): $(COMPONENTS_LIBCMT:*=i386)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCMT:*=i386)
+<<
+
+$(RELEASE_LIBCPSX:*=i386): $(COMPONENTS_LIBCPSX:*=i386)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCPSX:*=i386)
+<<
+
+$(DSTDIR_OBJECTS:*=i386)\binmode.obj: $(SRCDIR_LIBC:*=i386)\binmode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=i386)\commode.obj: $(SRCDIR_LIBC:*=i386)\commode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=i386)\setargv.obj: $(SRCDIR_LIBC:*=i386)\setargv.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=i386)\chkstk.obj: $(SRCDIR_LIBC:*=i386)\chkstk.obj
+ copy $** $@
+
+386_DLL=$(RELEASE_DLL:*=i386)
+386_DLL=$(386_DLL: =)
+386_LIBCDLL=$(COMPONENTS_CRTDLL:*=i386)
+386_OBJECTS=$(COMPONENTS_SUPPOBJS:*=i386)
+386_DEF=$(COMPONENTS_DLLDEF:*=i386)
+386_LINKLIBS=$(LINKLIBS:*=i386)
+386_DLLBASE=0x10010000
+
+lib\i386\exsup.lib: $(EXSUP_OBJECTS:*=i386)
+ link -lib -out:$(@R).lib $(EXSUP_OBJECTS:*=i386)
+
+$(386_DEF): lib\crtdll.def $(386_DEF:.def=.x86)
+ copy lib\crtdll.def+$(386_DEF:.def=.x86) $(386_DEF)
+
+$(386_DLL:.dll=.exp) $(386_DLL:.dll=.lib): $(386_DEF) $(386_OBJECTS)
+ link -lib -out:$(@R).lib -machine:i386 -debugtype:cv -def:$(386_DEF) $(386_LIBCDLL)
+ ren $(386_DLL:.dll=.lib) tmp.lib
+ link -lib -out:$(@R).lib -machine:i386 $(@D)\tmp.lib $(386_OBJECTS)
+ del $(@D)\tmp.lib
+
+$(386_DLL): $(386_DLL:.dll=.lib) $(386_DLL:.dll=.exp) $(386_LIBCDLL) $(386_LINKLIBS) crtdll.rc
+ rc -l 409 -r -fo $(386_DLL:.dll=.tmp) $(RCX86_DEFS) -x $(RC_INCL) crtdll.rc
+ cvtres -machine:x86 $(386_DLL:.dll=.tmp) -readonly -out:$(386_DLL:.dll=.res)
+ link @<<
+-dll
+-out:$@
+-machine:i386
+-debugtype:both
+-debug:full
+-release
+-pdb:none
+-opt:ref
+-optidata
+-merge:.rdata=.text
+-subsystem:console,4.00
+-osversion:4.00
+-version:4.00
+-base:$(386_DLLBASE)
+-entry:_CRTDLL_INIT@12
+$(386_DLL:.dll=.res)
+$(386_DLL:.dll=.exp)
+$(386_LIBCDLL)
+$(386_LINKLIBS)
+<<
+
+#
+# mips targets
+#
+
+$(RELEASE_CRTNT:*=mips): $(COMPONENTS_CRTNT:*=mips)
+ link -lib -out:$@ @<<
+$(COMPONENTS_CRTNT:*=mips)
+<<
+
+$(RELEASE_SMALL:*=mips): $(COMPONENTS_SMALL:*=mips)
+ copy $** $@
+
+$(RELEASE_LIBC:*=mips): $(COMPONENTS_LIBC:*=mips)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBC:*=mips)
+<<
+
+$(RELEASE_LIBCMT:*=mips): $(COMPONENTS_LIBCMT:*=mips)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCMT:*=mips)
+<<
+
+$(RELEASE_LIBCPSX:*=mips): $(COMPONENTS_LIBCPSX:*=mips)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCPSX:*=mips)
+<<
+
+$(DSTDIR_OBJECTS:*=mips)\binmode.obj: $(SRCDIR_LIBC:*=mips)\binmode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=mips)\commode.obj: $(SRCDIR_LIBC:*=mips)\commode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=mips)\setargv.obj: $(SRCDIR_LIBC:*=mips)\setargv.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=mips)\chkstk.obj: $(SRCDIR_LIBC:*=mips)\chkstk.obj
+ copy $** $@
+
+
+MIPS_DLL=$(RELEASE_DLL:*=mips)
+MIPS_DLL=$(MIPS_DLL: =)
+MIPS_LIBCDLL=$(COMPONENTS_CRTDLL:*=mips)
+MIPS_OBJECTS=$(COMPONENTS_SUPPOBJS:*=mips)
+MIPS_DEF=$(COMPONENTS_DLLDEF:*=mips)
+MIPS_LINKLIBS=$(LINKLIBS:*=mips)
+MIPS_DLLBASE=0x10010000
+
+$(MIPS_DLL:.dll=.lib) $(MIPS_DLL:.dll=.exp): $(MIPS_DEF)
+ link -lib -out:$(@R).lib -machine:mips -debugtype:cv -def:$(MIPS_DEF)
+ ren $(MIPS_DLL:.dll=.lib) tmp.lib
+ link -lib -out:$(@R).lib -machine:mips $(@D)\tmp.lib $(MIPS_OBJECTS)
+ del $(@D)\tmp.lib
+
+$(MIPS_DEF): lib\crtdll.def $(MIPS_DEF:.def=.mip)
+ copy lib\crtdll.def+$(MIPS_DEF:.def=.mip) $(MIPS_DEF)
+
+$(MIPS_DLL): $(MIPS_DLL:.dll=.lib) $(MIPS_DLL:.dll=.exp) $(MIPS_LIBCDLL) $(MIPS_LINKLIBS) crtdll.rc
+ rc -l 409 -r -fo $(MIPS_DLL:.dll=.tmp) $(RCMIPS_DEFS) -x $(RC_INCL) crtdll.rc
+ cvtres -machine:mips $(MIPS_DLL:.dll=.tmp) -readonly -out:$(MIPS_DLL:.dll=.res)
+ link @<<
+-dll
+-out:$@
+-debugtype:both
+-debug:full
+-machine:mips
+-release
+-pdb:none
+-opt:ref
+-optidata
+-merge:.rdata=.text
+-subsystem:console,4.00
+-osversion:4.00
+-version:4.00
+-base:$(MIPS_DLLBASE)
+-entry:_CRTDLL_INIT
+-merge:asincosm=.text
+-merge:atanm=.text
+-merge:floorm=.text
+-merge:fmodm=.text
+-merge:trigm=.text
+$(MIPS_DLL:.dll=.exp)
+$(MIPS_DLL:.dll=.res)
+$(MIPS_LIBCDLL)
+$(MIPS_LINKLIBS)
+<<
+
+# BUGBUG: The merge directives can be removed if v-rogerl determines a src change can
+# be made. BryanT - 3/7/95
+
+#
+# alpha targets
+#
+
+$(RELEASE_CRTNT:*=alpha): $(COMPONENTS_CRTNT:*=alpha)
+ link -lib -out:$@ @<<
+$(COMPONENTS_CRTNT:*=alpha)
+<<
+
+$(RELEASE_SMALL:*=alpha): $(COMPONENTS_SMALL:*=alpha)
+ copy $** $@
+
+$(RELEASE_LIBC:*=alpha): $(COMPONENTS_LIBC:*=alpha)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBC:*=alpha)
+<<
+
+$(RELEASE_LIBCMT:*=alpha): $(COMPONENTS_LIBCMT:*=alpha)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCMT:*=alpha)
+<<
+
+$(RELEASE_LIBCPSX:*=alpha): $(COMPONENTS_LIBCPSX:*=alpha)
+ link -lib -out:$@ @<<
+$(COMPONENTS_LIBCPSX:*=alpha)
+<<
+
+$(DSTDIR_OBJECTS:*=alpha)\binmode.obj: $(SRCDIR_LIBC:*=alpha)\binmode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=alpha)\commode.obj: $(SRCDIR_LIBC:*=alpha)\commode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=alpha)\setargv.obj: $(SRCDIR_LIBC:*=alpha)\setargv.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=alpha)\chkstk.obj: $(SRCDIR_LIBC:*=alpha)\chkstk.obj
+ copy $** $@
+
+
+ALPHA_DLL=$(RELEASE_DLL:*=alpha)
+ALPHA_DLL=$(ALPHA_DLL: =)
+ALPHA_LIBCDLL=$(COMPONENTS_CRTDLL:*=alpha)
+ALPHA_OBJECTS=$(COMPONENTS_SUPPOBJS:*=alpha)
+ALPHA_DEF=$(COMPONENTS_DLLDEF:*=alpha)
+ALPHA_LINKLIBS=$(LINKLIBS:*=alpha)
+ALPHA_DLLBASE=0x10010000
+
+$(ALPHA_DLL:.dll=.lib) $(ALPHA_DLL:.dll=.exp): $(ALPHA_DEF)
+ link -lib -out:$(@R).lib -machine:alpha -debugtype:cv -def:$(ALPHA_DEF)
+ ren $(ALPHA_DLL:.dll=.lib) tmp.lib
+ link -lib -out:$(@R).lib -machine:alpha $(@D)\tmp.lib $(ALPHA_OBJECTS)
+ del $(@D)\tmp.lib
+
+$(ALPHA_DEF): lib\crtdll.def $(ALPHA_DEF:.def=.alp)
+ copy lib\crtdll.def+$(ALPHA_DEF:.def=.alp) $(ALPHA_DEF)
+
+$(ALPHA_DLL): $(ALPHA_DLL:.dll=.lib) $(ALPHA_DLL:.dll=.exp) $(ALPHA_LIBCDLL) $(ALPHA_LINKLIBS) crtdll.rc
+ rc -l 409 -r -fo $(ALPHA_DLL:.dll=.tmp) $(RCALPHA_DEFS) -x $(RC_INCL) crtdll.rc
+ cvtres -machine:alpha $(ALPHA_DLL:.dll=.tmp) -readonly -out:$(ALPHA_DLL:.dll=.res)
+ link @<<
+-dll
+-out:$@
+-machine:alpha
+-base:$(ALPHA_DLLBASE)
+-debugtype:both
+-debug:full
+-release
+-pdb:none
+-opt:ref
+-optidata
+-merge:.rdata=.text
+-subsystem:console,4.00
+-osversion:4.00
+-version:4.00
+-entry:_CRTDLL_INIT
+$(ALPHA_DLL:.dll=.res)
+$(ALPHA_DLL:.dll=.exp)
+$(ALPHA_LIBCDLL)
+$(ALPHA_LINKLIBS)
+<<
+
+#
+# ppc targets
+#
+
+$(RELEASE_CRTNT:*=ppc): $(COMPONENTS_CRTNT:*=ppc)
+ link -lib -out:$@ @<<
+-machine:ppc
+$(COMPONENTS_CRTNT:*=ppc)
+<<
+
+$(RELEASE_SMALL:*=ppc): $(COMPONENTS_SMALL:*=ppc)
+ copy $** $@
+
+$(RELEASE_LIBC:*=ppc): $(COMPONENTS_LIBC:*=ppc)
+ link -lib -out:$@ @<<
+-machine:ppc
+$(COMPONENTS_LIBC:*=ppc)
+<<
+
+$(RELEASE_LIBCMT:*=ppc): $(COMPONENTS_LIBCMT:*=ppc)
+ link -lib -out:$@ @<<
+-machine:ppc
+$(COMPONENTS_LIBCMT:*=ppc)
+<<
+
+$(RELEASE_LIBCPSX:*=ppc): $(COMPONENTS_LIBCPSX:*=ppc)
+ link -lib -out:$@ @<<
+-machine:ppc
+$(COMPONENTS_LIBCPSX:*=ppc)
+<<
+
+$(DSTDIR_OBJECTS:*=ppc)\binmode.obj: $(SRCDIR_LIBC:*=ppc)\binmode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=ppc)\commode.obj: $(SRCDIR_LIBC:*=ppc)\commode.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=ppc)\setargv.obj: $(SRCDIR_LIBC:*=ppc)\setargv.obj
+ copy $** $@
+
+$(DSTDIR_OBJECTS:*=ppc)\chkstk.obj: $(SRCDIR_LIBC:*=ppc)\chkstk.obj
+ copy $** $@
+
+
+PPC_DLL=$(RELEASE_DLL:*=ppc)
+PPC_DLL=$(PPC_DLL: =)
+PPC_LIBCDLL=$(COMPONENTS_CRTDLL:*=ppc)
+PPC_OBJECTS=$(COMPONENTS_SUPPOBJS:*\=ppc\)
+PPC_DEF=$(COMPONENTS_DLLDEF:*=ppc)
+PPC_LINKLIBS=$(LINKLIBS:*=ppc)
+PPC_DLLBASE=0x10010000
+
+$(PPC_DLL:.dll=.lib) $(PPC_DLL:.dll=.exp): $(PPC_DEF)
+ link -lib -out:$(@R).lib -machine:ppc -debugtype:cv -def:$(PPC_DEF)
+ ren $(PPC_DLL:.dll=.lib) tmp.lib
+ link -lib -out:$(@R).lib -machine:ppc $(@D)\tmp.lib $(PPC_OBJECTS)
+ del $(@D)\tmp.lib
+
+$(PPC_DEF): lib\crtdll.def $(PPC_DEF:.def=.ppc)
+ copy lib\crtdll.def+$(PPC_DEF:.def=.ppc) $(PPC_DEF)
+
+$(PPC_DLL): $(PPC_DLL:.dll=.lib) $(PPC_DLL:.dll=.exp) $(PPC_LIBCDLL) $(PPC_LINKLIBS) crtdll.rc
+ rc -l 409 -r -fo $(PPC_DLL:.dll=.tmp) $(RCPPC_DEFS) -x $(RC_INCL) crtdll.rc
+ cvtres -machine:ppc $(PPC_DLL:.dll=.tmp) -readonly -out:$(PPC_DLL:.dll=.res)
+ link @<<
+-dll
+-out:$@
+-debugtype:both
+-debug:full
+-machine:ppc
+-base:$(PPC_DLLBASE)
+-release
+-pdb:none
+-opt:ref
+-optidata
+-merge:.rdata=.text
+-subsystem:console,4.00
+-osversion:4.00
+-version:4.00
+-entry:_CRTDLL_INIT
+-NODEFAULTLIB
+$(PPC_DLL:.dll=.exp)
+$(PPC_DLL:.dll=.res)
+$(PPC_LIBCDLL)
+$(PPC_LINKLIBS)
+<<