774 lines
19 KiB
Makefile
774 lines
19 KiB
Makefile
####
|
|
#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)
|
|
<<
|