mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
539 lines
10 KiB
539 lines
10 KiB
PA = $(PROCESSOR_ARCHITECTURE) # Use a shorter name
|
|
|
|
!if "$(LLP64)" == ""
|
|
LLP64 = 0
|
|
!endif
|
|
|
|
!if "$(PA)"=="IA64" || ("$(PA)"=="x86" && "$(LLP64)"=="1")
|
|
CPUDIR = ia64
|
|
!elseif "$(PA)"=="x86"
|
|
CPUDIR = intel
|
|
!elseif "$(PA)"=="ALPHA"
|
|
!if "$(LLP64)"!="0"
|
|
CPUDIR = alpha64
|
|
!else
|
|
CPUDIR = alpha
|
|
!endif
|
|
!elseif "$(PA)"=="MIPS"
|
|
CPUDIR = mips
|
|
!elseif "$(PA)"=="PPC"
|
|
CPUDIR = ppc
|
|
!else
|
|
!error objects.mkf: unknown host CPU
|
|
!endif
|
|
|
|
!if "$(LLP64)" == "0" && "$(BLD_SYSCRT)" != "1"
|
|
RTC = YES
|
|
!else
|
|
RTC = NO
|
|
!endif
|
|
|
|
DEF_NAME=msvcrt
|
|
DEFCPP_NAME=msvcprt
|
|
DEFIOS_NAME=msvcirt
|
|
|
|
D=$(CRT_BUILDDIR)\crt\src
|
|
E=$D\$(CPUDIR)
|
|
S=$(CRT_BUILDDIR)\crt\prebuild
|
|
T=$S\build\$(CPUDIR)
|
|
|
|
FILES_CPU_ALL = \
|
|
$E\*\eh.lib \
|
|
$E\*\conv.lib \
|
|
$E\*\tran.lib
|
|
|
|
!if "$(RTC)" == "YES"
|
|
FILES_CPU_ALL = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\rtc.lib
|
|
!endif
|
|
|
|
FILES_ALPHA64 = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\chkesp.obj \
|
|
$E\*\chkstk.obj \
|
|
$E\*\divdat.obj \
|
|
$E\*\divide2.obj \
|
|
$E\*\extv.obj \
|
|
$E\*\extvvol.obj \
|
|
$E\*\extzv.obj \
|
|
$E\*\extzvvol.obj \
|
|
$E\*\ghandler.obj \
|
|
$E\*\insv.obj \
|
|
$E\*\insvvol.obj \
|
|
$E\*\jmpuwind.obj \
|
|
$E\*\longjmp.obj \
|
|
$E\*\matherr.obj \
|
|
$E\*\memcmp_.obj \
|
|
$E\*\otsdiv.obj \
|
|
$E\*\otsjmp.obj \
|
|
$E\*\otsjmpex.obj \
|
|
$E\*\otsuwind.obj \
|
|
$E\*\scmpeql.obj \
|
|
$E\*\scmpeqlp.obj \
|
|
$E\*\scmpleq.obj \
|
|
$E\*\scmpleqp.obj \
|
|
$E\*\scmplss.obj \
|
|
$E\*\scmplssp.obj \
|
|
$E\*\setjmp.obj \
|
|
$E\*\setjmpex.obj \
|
|
$E\*\sfill.obj \
|
|
$E\*\sfillx.obj \
|
|
$E\*\sfwdcpy.obj \
|
|
$E\*\sloc.obj \
|
|
$E\*\smove.obj \
|
|
$E\*\smovem.obj \
|
|
$E\*\strans.obj \
|
|
$E\*\strcmp_.obj \
|
|
$E\*\strcmps.obj \
|
|
$E\*\strcpy_.obj \
|
|
$E\*\strcpys.obj \
|
|
$E\*\strlen_.obj \
|
|
$E\*\strlens.obj \
|
|
$E\*\szero.obj \
|
|
$E\*\tlssup.obj
|
|
|
|
!if "$(PA)"=="ALPHA64"
|
|
|
|
FILES_CPU = \
|
|
$(FILES_ALPHA64)
|
|
|
|
!elseif "$(PA)"=="ALPHA"
|
|
|
|
!if "$(LLP64)"!="0"
|
|
FILES_CPU = \
|
|
$(FILES_ALPHA64)
|
|
!else
|
|
FILES_CPU = \
|
|
$(FILES_ALPHA64) \
|
|
$E\*\chandler.obj
|
|
!endif
|
|
|
|
!elseif "$(PA)"=="MIPS"
|
|
|
|
FILES_CPU = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\setjmp.obj \
|
|
$E\*\chandler.obj \
|
|
$E\*\chkstk.obj \
|
|
$E\*\jmpuwind.obj \
|
|
$E\*\llabsdiv.obj \
|
|
$E\*\llbit.obj \
|
|
$E\*\llcvt.obj \
|
|
$E\*\lldiv.obj \
|
|
$E\*\lldivrem.obj \
|
|
$E\*\llmul.obj \
|
|
$E\*\llshift.obj \
|
|
$E\*\longjmp.obj \
|
|
$E\*\matherr.obj \
|
|
$E\*\memorym.obj \
|
|
$E\*\setjmpex.obj \
|
|
$E\*\strcatm.obj \
|
|
$E\*\strchrm.obj \
|
|
$E\*\strcmpm.obj \
|
|
$E\*\strcpym.obj \
|
|
$E\*\strlenm.obj \
|
|
$E\*\strrchrm.obj \
|
|
$E\*\tlssup.obj
|
|
|
|
!elseif "$(PA)"=="PPC"
|
|
|
|
FILES_CPU = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\setjmp.obj \
|
|
$E\*\chandler.obj \
|
|
$E\*\chkstk.obj \
|
|
$E\*\dtoi.obj \
|
|
$E\*\dtoi64.obj \
|
|
$E\*\dtou.obj \
|
|
$E\*\dtou64.obj \
|
|
$E\*\exsup.obj \
|
|
$E\*\i64div.obj \
|
|
$E\*\i64rem.obj \
|
|
$E\*\i64rsh.obj \
|
|
$E\*\i64tod.obj \
|
|
$E\*\icall.obj \
|
|
$E\*\itod.obj \
|
|
$E\*\itof.obj \
|
|
$E\*\jmpuwind.obj \
|
|
$E\*\longjmp.obj \
|
|
$E\*\matherr.obj \
|
|
$E\*\memccpyp.obj \
|
|
$E\*\memchrp.obj \
|
|
$E\*\memcmpp.obj \
|
|
$E\*\memcpyp.obj \
|
|
$E\*\memcpy_.obj \
|
|
$E\*\memmovep.obj \
|
|
$E\*\memsetp.obj \
|
|
$E\*\memset_.obj \
|
|
$E\*\restfpr.obj \
|
|
$E\*\restgpr.obj \
|
|
$E\*\savefpr.obj \
|
|
$E\*\savegpr.obj \
|
|
$E\*\setjmpex.obj \
|
|
$E\*\strcatp.obj \
|
|
$E\*\strchrp.obj \
|
|
$E\*\strcmpp.obj \
|
|
$E\*\stricmpp.obj \
|
|
$E\*\strlenp.obj \
|
|
$E\*\strrchrp.obj \
|
|
$E\*\tlssup.obj \
|
|
$E\*\u64div.obj \
|
|
$E\*\u64rem.obj \
|
|
$E\*\u64tod.obj \
|
|
$E\*\utod.obj \
|
|
$E\*\utof.obj
|
|
|
|
!elseif "$(PA)"=="IA64" || ("$(PA)"=="x86" && "$(LLP64)"=="1")
|
|
|
|
FILES_CPU = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\setjmp.obj \
|
|
$E\*\chandler.obj \
|
|
$E\*\cinitone.obj \
|
|
$E\*\jmpuwind.obj \
|
|
$E\*\longjmp.obj \
|
|
$E\*\memcpy.obj \
|
|
$E\*\memmove.obj \
|
|
$E\*\memset.obj \
|
|
$E\*\strcpy.obj \
|
|
$E\*\strcat.obj \
|
|
$E\*\strlen.obj \
|
|
$E\*\strcmp.obj \
|
|
$E\*\miscs.obj \
|
|
$E\*\setjmp.obj \
|
|
$E\*\setjmpex.obj \
|
|
$E\*\chkstk.obj \
|
|
$E\*\matherr.obj \
|
|
$E\*\tlssup.obj
|
|
|
|
!elseif "$(PA)"=="x86"
|
|
|
|
FILES_CPU = \
|
|
$(FILES_CPU_ALL) \
|
|
$E\*\setjmp.obj \
|
|
$E\*\exsup.obj \
|
|
$E\*\exsup2.obj \
|
|
$E\*\exsup3.obj \
|
|
$E\*\atlssup.obj \
|
|
$E\*\chkesp.obj \
|
|
$E\*\longjmp.obj \
|
|
$E\*\matherr.obj \
|
|
$E\*\sehprolg.obj \
|
|
$E\*\sehsupp.obj \
|
|
$E\*\setjmp3.obj \
|
|
$E\*\setjmpex.obj \
|
|
$E\*\tlssup.obj
|
|
|
|
!endif
|
|
|
|
FILES_CPU_DLL = \
|
|
$E\*\ehvccctr.obj \
|
|
$E\*\ehvcccvb.obj \
|
|
$E\*\ehvecctr.obj \
|
|
$E\*\ehveccvb.obj \
|
|
$E\*\ehvecdtr.obj \
|
|
$E\*\oldexcpt.obj
|
|
|
|
!if "$(PA)"=="x86" && "$(LLP64)"=="0"
|
|
FILES_CPU_DLL = \
|
|
$(FILES_CPU_DLL) \
|
|
$E\*\ehprolg2.obj \
|
|
$E\*\ehprolog.obj \
|
|
$E\*\ftol2.obj
|
|
!endif
|
|
|
|
FILES_CPU_BSKU = \
|
|
$E\*\bsku.obj
|
|
|
|
FILES_LIBCST = $(FILES_CPU:*=*st_lib)
|
|
|
|
FILES_LIBCMT = $(FILES_CPU:*=*mt_lib)
|
|
|
|
FILES_DLL = $(FILES_CPU:*=*dll_lib) $(FILES_CPU_DLL:*=*dll_lib)
|
|
|
|
FILES_LIBCST_BSKU = $(FILES_CPU_BSKU:*=*st_lib)
|
|
|
|
FILES_LIBCMT_BSKU = $(FILES_CPU_BSKU:*=*mt_lib)
|
|
|
|
|
|
FILES_ALL = \
|
|
$E\almap.lib \
|
|
$E\tcmap.lib
|
|
|
|
|
|
FILES_DLL_ALL = \
|
|
$E\sdknames.lib \
|
|
$E\tcmapdll.lib
|
|
|
|
|
|
FILES_DLL_RELEASE = \
|
|
$(FILES_DLL_ALL) \
|
|
$D\$(DEFIOS_NAME).def \
|
|
$D\$(DEFCPP_NAME).def \
|
|
!IF "$(BLD_FWDR)"=="1"
|
|
$E\msvcrt40.def \
|
|
!ENDIF
|
|
$E\$(DEF_NAME).def
|
|
|
|
|
|
FILES_DLL_DEBUG = \
|
|
$(FILES_DLL_ALL) \
|
|
$D\$(DEFIOS_NAME)d.def \
|
|
$D\$(DEFCPP_NAME)d.def \
|
|
!IF "$(BLD_FWDR)"=="1"
|
|
$E\msvcr40d.def \
|
|
!ENDIF
|
|
$E\$(DEF_NAME)d.def
|
|
|
|
|
|
DIRS_ALL = $E
|
|
|
|
|
|
DIRS_LIBCST = $E\*st_lib
|
|
|
|
DIRS_LIBCMT = $E\*mt_lib
|
|
|
|
DIRS_DLL = $E\*dll_lib
|
|
|
|
DIRS = $(DIRS_LIBCST) $(DIRS_LIBCMT) $(DIRS_DLL)
|
|
|
|
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .lib .obj
|
|
|
|
{$T\st_obj}.obj{$E\st_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\st_obj}.lib{$E\st_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\st_obj}.lib{$E}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xst_obj}.obj{$E\xst_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xst_obj}.lib{$E\xst_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zst_obj}.obj{$E\zst_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zst_obj}.lib{$E\zst_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\bst_obj}.obj{$E\bst_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\bst_obj}.lib{$E\bst_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xbst_obj}.obj{$E\xbst_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xbst_obj}.lib{$E\xbst_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\mt_obj}.obj{$E\mt_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\mt_obj}.lib{$E\mt_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xmt_obj}.obj{$E\xmt_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xmt_obj}.lib{$E\xmt_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zmt_obj}.obj{$E\zmt_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zmt_obj}.lib{$E\zmt_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\bmt_obj}.obj{$E\bmt_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\bmt_obj}.lib{$E\bmt_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xbmt_obj}.obj{$E\xbmt_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xbmt_obj}.lib{$E\xbmt_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\dll_obj}.obj{$E\dll_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\dll_obj}.lib{$E\dll_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\dll_obj}.lib{$E}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zdll_obj}.obj{$E\zdll_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\zdll_obj}.lib{$E\zdll_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xdll_obj}.obj{$E\xdll_lib}.obj:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
{$T\xdll_obj}.lib{$E\xdll_lib}.lib:
|
|
@echo Copying $< to $@
|
|
@copy $< $@
|
|
|
|
|
|
all: release debug
|
|
|
|
release: st mt dll
|
|
|
|
debug: xst xmt xdll
|
|
|
|
bbt: zst zmt zdll
|
|
|
|
lego: bbt
|
|
|
|
book : bst bmt xbst xbmt
|
|
|
|
st: $(DIRS_ALL) $(DIRS_LIBCST:*=) $(FILES_ALL) $(FILES_LIBCST:*=)
|
|
|
|
mt: $(DIRS_ALL) $(DIRS_LIBCMT:*=) $(FILES_ALL) $(FILES_LIBCMT:*=)
|
|
|
|
dll: $(DIRS_ALL) $(DIRS_DLL:*=) $(FILES_ALL) $(FILES_DLL:*=) $(FILES_DLL_RELEASE)
|
|
|
|
xst: $(DIRS_ALL) $(DIRS_LIBCST:*=x) $(FILES_ALL) $(FILES_LIBCST:*=x)
|
|
|
|
xmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=x) $(FILES_ALL) $(FILES_LIBCMT:*=x)
|
|
|
|
xdll: $(DIRS_ALL) $(DIRS_DLL:*=x) $(FILES_ALL) $(FILES_DLL:*=x) $(FILES_DLL_DEBUG)
|
|
|
|
zst: $(DIRS_ALL) $(DIRS_LIBCST:*=z) $(FILES_ALL) $(FILES_LIBCST:*=z)
|
|
|
|
zmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=z) $(FILES_ALL) $(FILES_LIBCMT:*=z)
|
|
|
|
zdll: $(DIRS_ALL) $(DIRS_DLL:*=z) $(FILES_ALL) $(FILES_DLL:*=z) $(FILES_DLL_RELEASE)
|
|
|
|
bst: $(DIRS_ALL) $(DIRS_LIBCST:*=b) $(FILES_LIBCST_BSKU:*=b)
|
|
|
|
bmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=b) $(FILES_LIBCMT_BSKU:*=b)
|
|
|
|
xbst: $(DIRS_ALL) $(DIRS_LIBCST:*=xb) $(FILES_LIBCST_BSKU:*=xb)
|
|
|
|
xbmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=xb) $(FILES_LIBCMT_BSKU:*=xb)
|
|
|
|
$(DIRS_ALL) $(DIRS:*=) $(DIRS:*=x) $(DIRS:*=z) $(DIRS:*=b) $(DIRS:*=xb):
|
|
@if not exist $@\NUL mkdire $@
|
|
|
|
|
|
$D\$(DEFIOS_NAME)d.def: $S\libw32\lib\$(DEFIOS_NAME)d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$D\$(DEFIOS_NAME).def: $S\libw32\lib\$(DEFIOS_NAME).def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$D\$(DEFCPP_NAME)d.def: $S\libw32\lib\$(DEFCPP_NAME)d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$D\$(DEFCPP_NAME).def: $S\libw32\lib\$(DEFCPP_NAME).def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
!if "$(PA)"=="x86"
|
|
|
|
!if "$(LLP64)"=="1"
|
|
|
|
$E\$(DEF_NAME)d.def: $S\libw32\lib\ia64\$(DEF_NAME)d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\$(DEF_NAME).def: $S\libw32\lib\ia64\$(DEF_NAME).def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcr40d.def: $S\libw32\lib\ia64\msvcr40d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcrt40.def: $S\libw32\lib\ia64\msvcrt40.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
!else
|
|
|
|
#*
|
|
#* Note: ...\I386\msvcrt*.def are copied to ...\INTEL\msvcrt*.def
|
|
#*
|
|
|
|
$E\$(DEF_NAME)d.def: $S\libw32\lib\i386\$(DEF_NAME)d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\$(DEF_NAME).def: $S\libw32\lib\i386\$(DEF_NAME).def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcr40d.def: $S\libw32\lib\i386\msvcr40d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcrt40.def: $S\libw32\lib\i386\msvcrt40.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
!endif
|
|
|
|
!else
|
|
|
|
$E\$(DEF_NAME)d.def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME)d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\$(DEF_NAME).def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME).def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcr40d.def: $S\libw32\lib\$(CPUDIR)\msvcr40d.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
$E\msvcrt40.def: $S\libw32\lib\$(CPUDIR)\msvcrt40.def
|
|
@echo Copying $** to $@
|
|
@copy $** $@
|
|
|
|
!endif
|