diff options
Diffstat (limited to 'private/crt32/makefile')
-rw-r--r-- | private/crt32/makefile | 597 |
1 files changed, 597 insertions, 0 deletions
diff --git a/private/crt32/makefile b/private/crt32/makefile new file mode 100644 index 000000000..53b1e7e6b --- /dev/null +++ b/private/crt32/makefile @@ -0,0 +1,597 @@ +#### +#crt32\makefile - makefile for crt32 NT build +# +# Copyright (c) 1991-1993, Microsoft Corporation. All rights reserved. +# +#Purpose: +# +#Revision History: +# 09-29-91 JCR File created. +# 10-04-91 JCR Added mt vs st build +# 01-07-92 GJF Added dll build, revised rest. +# 01-16-92 JCR use winheap (not heap) +# 01-29-92 GJF Support for link options for DLL +# 02-06-92 GJF Fixed non-dll builds. +# 06-06-92 KRS Added wchar_t printf functions, _snprintf. +# 01-18-93 KRS Integrate MBCS into standard makefile. +# +################################################################################ + +!INCLUDE crt32.def + +!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 !$(ALPHA) +! 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 +!ENDIF + +!IF $(MIPS) +HELPER_OBJECTS=helper\obj\*.obj +!ELSEIF $(PPC) +HELPER_OBJECTS=helper\obj\*.obj +!ELSE +HELPER_OBJECTS= +!ENDIF + +!IF "$(TARGETNAMESUFFIX)" == "nt" +INITOBJECTS= + +!ELSEIF "$(TARGETNAMESUFFIX)" == "psx" +INITOBJECTS=\ + startup\obj\*\crt0init.obj \ + +!ELSE +CRT_OBJECTS= +INITOBJECTS=\ + startup\obj\*\crt0init.obj \ +!ENDIF + +!IF "$(TARGETNAMESUFFIX)" == "dll" +OBJECTS=startup\obj\chkstk.obj \ +startup\obj\crt0dat.obj \ +startup\obj\crt0fp.obj \ +startup\obj\crt0msg.obj \ +startup\obj\mlock.obj \ +startup\obj\_setargv.obj \ +startup\obj\stdargv.obj \ +startup\obj\stdenvp.obj \ +startup\obj\thread.obj \ +startup\obj\tidtable.obj \ +startup\obj\wild.obj \ +convert\obj\*.obj \ +direct\obj\*.obj \ +dllstuff\obj\crtlib.obj \ +dos\obj\*.obj \ +exec\obj\*.obj \ +winheap\obj\*.obj \ +lowio\obj\*.obj \ +mbstring\obj\*.obj \ +$(HELPER_OBJECTS) \ +misc\obj\*.obj \ +stdio\obj\*.obj \ +string\obj\*.obj \ +time\obj\*.obj +!ELSEIF "$(TARGETNAMESUFFIX)" == "psx" +OBJECTS=convert\obj\*.obj \ +mbstring\obj\*.obj \ +$(HELPER_OBJECTS) \ +misc\obj\*.obj \ +startup\obj\*.obj \ +stdio\obj\*.obj \ +string\obj\*.obj \ +time\obj\*.obj \ +winheap\obj\*.obj +!ELSEIF "$(TARGETNAMESUFFIX)" == "nt" +OBJECTS=convert\obj\*.obj \ + $(HELPER_OBJECTS) \ + misc\obj\abs.obj \ + misc\obj\bsearch.obj \ + misc\obj\ctype.obj \ + misc\obj\div.obj \ + misc\obj\ldiv.obj \ + misc\obj\labs.obj \ + misc\obj\lconv.obj \ + misc\obj\lfind.obj \ + misc\obj\lsearch.obj \ + misc\obj\makepath.obj \ + misc\obj\nlsdata1.obj \ + misc\obj\nlsdata2.obj \ + misc\obj\qsort.obj \ + misc\obj\rand.obj \ + misc\obj\rotl.obj \ + misc\obj\rotr.obj \ + misc\obj\setlocal.obj \ + misc\obj\splitpat.obj \ + misc\obj\cmiscdat.obj \ + startup\obj\crt0fp.obj \ + string\obj\memicmp.obj \ + string\obj\strcspn.obj \ + string\obj\strlwr.obj \ + string\obj\strupr.obj \ + string\obj\strncat.obj \ + string\obj\strncmp.obj \ + string\obj\strncpy.obj \ + string\obj\strnicmp.obj \ + string\obj\strnset.obj \ + string\obj\strpbrk.obj \ + string\obj\strrev.obj \ + string\obj\strset.obj \ + string\obj\strspn.obj \ + string\obj\strstr.obj \ + string\obj\wcscat.obj \ + string\obj\wcschr.obj \ + string\obj\wcscmp.obj \ + string\obj\wcsicmp.obj \ + string\obj\wcscspn.obj \ + string\obj\wcslen.obj \ + string\obj\wcslwr.obj \ + string\obj\wcsupr.obj \ + string\obj\wcsncat.obj \ + string\obj\wcsncmp.obj \ + string\obj\wcsncpy.obj \ + string\obj\wcsnicmp.obj \ + string\obj\wcsnset.obj \ + string\obj\wcspbrk.obj \ + string\obj\wcsrchr.obj \ + string\obj\wcsrev.obj \ + string\obj\wcsset.obj \ + string\obj\wcsspn.obj \ + string\obj\wcsstr.obj \ + string\obj\wcstok.obj \ + stdio\obj\sprintf.obj \ + stdio\obj\snprintf.obj \ + stdio\obj\vsprintf.obj \ + stdio\obj\vsnprint.obj \ + stdio\obj\output.obj \ + stdio\obj\sscanf.obj \ + stdio\obj\input.obj \ + stdio\obj\swprintf.obj \ + stdio\obj\snwprint.obj \ + stdio\obj\vswprint.obj \ + stdio\obj\vsnwprnt.obj \ + stdio\obj\woutput.obj \ + stdio\obj\winput.obj \ + stdio\obj\swscanf.obj \ + stdio\obj\fgetwchr.obj \ + stdio\obj\fgetwc.obj \ + stdio\obj\fputwchr.obj \ + stdio\obj\fputwc.obj \ + stdio\obj\_filbuf.obj \ + stdio\obj\_filwbuf.obj \ + stdio\obj\_flsbuf.obj \ + stdio\obj\_flswbuf.obj \ + stdio\obj\_getbuf.obj \ + stdio\obj\ungetc.obj \ + hack\obj\*.obj + +!IF $(386) +CRT_OBJECTS=misc\obj\*\exsup.obj \ + misc\obj\*\exsup2.obj \ + misc\obj\*\exsup3.obj \ + misc\obj\*\longjmp.obj \ + misc\obj\*\sehsupp.obj \ + misc\obj\*\setjmp.obj \ + misc\obj\*\setjmp3.obj \ + misc\obj\*\setjmpex.obj \ + startup\obj\*\chkstk.obj \ + string\obj\*\memccpy.obj \ + string\obj\*\memchr.obj \ + string\obj\*\memcmp.obj \ + string\obj\*\memcpy.obj \ + string\obj\*\memmove.obj \ + string\obj\*\memset.obj \ + string\obj\*\strcat.obj \ + string\obj\*\strchr.obj \ + string\obj\*\stricmp.obj \ + string\obj\*\strcmp.obj \ + string\obj\*\strlen.obj \ + string\obj\*\strrchr.obj + +!ELSEIF $(MIPS) +CRT_OBJECTS=startup\obj\*\chkstk.obj \ + misc\obj\*\chandler.obj \ + misc\obj\*\jmpuwind.obj \ + misc\obj\*\longjmp.obj \ + misc\obj\*\setjmp.obj \ + misc\obj\*\setjmpex.obj \ + string\obj\*\memccpy.obj \ + string\obj\*\memchr.obj \ + string\obj\*\strcatm.obj \ + string\obj\*\memorym.obj \ + string\obj\*\strchrm.obj \ + string\obj\*\stricmp.obj \ + string\obj\*\strcmpm.obj \ + string\obj\*\strcpym.obj \ + string\obj\*\strlenm.obj \ + string\obj\*\strrchrm.obj + +!ELSEIF $(PPC) +CRT_OBJECTS=startup\obj\*\chkstk.obj \ + misc\obj\*\chandler.obj \ + misc\obj\*\jmpuwind.obj \ + misc\obj\*\longjmp.obj \ + misc\obj\*\setjmp.obj \ + misc\obj\*\setjmpex.obj \ + misc\obj\*\miscasm.obj \ + string\obj\*\memccpyp.obj \ + string\obj\*\memcmpp.obj \ + string\obj\*\memcpy.obj \ + string\obj\*\memchrp.obj \ + string\obj\*\memmove.obj \ + string\obj\*\memset.obj \ + string\obj\*\strcatp.obj \ + string\obj\*\stricmpp.obj \ + string\obj\*\strchrp.obj \ + string\obj\*\strcmpp.obj \ + string\obj\*\strlenp.obj \ + string\obj\*\strrchrp.obj + +!ELSEIF $(ALPHA) +CRT_OBJECTS=startup\obj\*\chkstk.obj \ + misc\obj\*\chandler.obj \ + misc\obj\*\divdat.obj \ + misc\obj\*\divide2.obj \ + misc\obj\*\extv.obj \ + misc\obj\*\extvvol.obj \ + misc\obj\*\extzv.obj \ + misc\obj\*\extzvvol.obj \ + misc\obj\*\ghandler.obj \ + misc\obj\*\insv.obj \ + misc\obj\*\insvvol.obj \ + misc\obj\*\jmpuwind.obj \ + misc\obj\*\longjmp.obj \ + misc\obj\*\otsdiv.obj \ + misc\obj\*\otsdiv.obj \ + misc\obj\*\otsjmp.obj \ + misc\obj\*\otsjmpex.obj \ + misc\obj\*\otsuwind.obj \ + misc\obj\*\scmpeql.obj \ + misc\obj\*\scmpeqlp.obj \ + misc\obj\*\scmpleq.obj \ + misc\obj\*\scmpleqp.obj \ + misc\obj\*\scmplss.obj \ + misc\obj\*\scmplssp.obj \ + misc\obj\*\setjmp.obj \ + misc\obj\*\setjmpex.obj \ + misc\obj\*\sfill.obj \ + misc\obj\*\sloc.obj \ + misc\obj\*\smove.obj \ + misc\obj\*\smovem.obj \ + misc\obj\*\strans.obj \ + misc\obj\*\strcmp_.obj \ + misc\obj\*\strcpy_.obj \ + misc\obj\*\strlen_.obj \ + misc\obj\*\szero.obj \ + convert\obj\*\strtoq.obj \ + string\obj\*\memccpy.obj \ + string\obj\*\memchr.obj \ + string\obj\*\memcmp.obj \ + string\obj\*\memcpy.obj \ + string\obj\*\memmove.obj \ + string\obj\*\memset.obj \ + string\obj\*\strcat.obj \ + string\obj\*\strchr.obj \ + string\obj\*\stricmp.obj \ + string\obj\*\strcmps.obj \ + string\obj\*\strcpys.obj \ + string\obj\*\strlens.obj \ + string\obj\*\strrchr.obj +!ENDIF # 386/MIPS/Alpha/PPC & Target = NT + +!ELSE +OBJECTS=convert\obj\*.obj \ +direct\obj\*.obj \ +dos\obj\*.obj \ +exec\obj\*.obj \ +iostream\obj\*.obj \ +winheap\obj\*.obj \ +lowio\obj\*.obj \ +mbstring\obj\*.obj \ +$(HELPER_OBJECTS) \ +misc\obj\*.obj \ +startup\obj\*.obj \ +stdio\obj\*.obj \ +string\obj\*.obj \ +time\obj\*.obj +!ENDIF + +TARGETLIB= +LIBC=obj\*\libc$(TARGETNAMESUFFIX).lib + +#define list of extra objects (not built into lib) + +!IF "$(TARGETNAMESUFFIX)" == "dll" + +CRTEXE=obj\*\crtexe.obj +CRTEXEW=obj\*\crtexew.obj +CRTDLL=obj\*\crtdll.obj +DLLARGV=obj\*\dllargv.obj +DLLMAIN=obj\*\dllmain.obj +CINITEXE=obj\*\cinitexe.obj + +!IF $(386) +DLLSUPP386=obj\i386\dllsupp.obj +!ELSE +DLLSUPP386= +!ENDIF + +EXTRAOBJS=\ + $(CRTEXE) \ + $(CRTEXEW) \ + $(CRTDLL) \ + $(DLLARGV) \ + $(DLLMAIN) \ + $(CINITEXE) \ + $(DLLSUPP386) + +!ELSEIF "$(TARGETNAMESUFFIX)" == "" + +BINMODE=obj\*\binmode.obj +COMMODE=obj\*\commode.obj +SETARGV=obj\*\setargv.obj +CHKSTK=obj\*\chkstk.obj +EXTRAOBJS=\ + $(BINMODE) \ + $(COMMODE) \ + $(SETARGV) \ + $(CHKSTK) + +!ELSE + +EXTRAOBJS= + +!ENDIF + + +!IF $(386) +TARGETLIBS=$(TARGETLIBS) \ + $(LIBC:*=i386) \ + $(EXTRAOBJS:*=i386) +!ENDIF + +!IF $(MIPS) +TARGETLIBS=$(TARGETLIBS) \ + $(LIBC:*=mips) \ + $(EXTRAOBJS:*=mips) +!ENDIF + +!IF $(ALPHA) +TARGETLIBS=$(TARGETLIBS) \ + $(LIBC:*=alpha) \ + $(EXTRAOBJS:*=alpha) +!ENDIF + +!IF $(PPC) +TARGETLIBS=$(TARGETLIBS) \ + $(LIBC:*=ppc) \ + $(EXTRAOBJS:*=ppc) +!ENDIF + +all: $(TARGETLIBS) +!IF "$(BUILDMSG)" != "" + echo $(BUILDMSG) +!ENDIF + +clean: cleanlib all + +cleanlib: + -erase $(TARGETLIBS) + +# get needed Win include files +wininc: + copy \\idwtest\sources\public\sdk\inc\winbase.h \nt\public\sdk\inc\winbase.h + copy \\idwtest\sources\public\sdk\inc\winnt.h \nt\public\sdk\inc\winnt.h + copy \\idwtest\sources\public\sdk\inc\wingdi.h \nt\public\sdk\inc\wingdi.h + copy \\idwtest\sources\public\sdk\inc\winerror.h \nt\public\sdk\inc\winerror.h + copy \\idwtest\sources\public\sdk\inc\winuser.h \nt\public\sdk\inc\winuser.h + +$(LIBC:*=i386): $(OBJECTS:obj\=obj\i386\) $(HELPER_OBJECTS:obj\=obj\i386\) $(CRT_OBJECTS:*=i386) $(INITOBJECTS:*=i386) makefile. + lib -out:$@ @<< +$(OBJECTS:obj\=obj\i386\) +$(CRT_OBJECTS:*=i386) +$(INITOBJECTS:*=i386) +<< + +$(LIBC:*=mips): $(OBJECTS:obj\=obj\mips\) $(HELPER_OBJECTS:obj\=obj\mips\) $(CRT_OBJECTS:*=mips) $(INITOBJECTS:*=mips) makefile. + lib -out:$@ @<< +$(OBJECTS:obj\=obj\mips\) +$(CRT_OBJECTS:*=mips) +$(INITOBJECTS:*=mips) +<< + +$(LIBC:*=alpha): $(OBJECTS:obj\=obj\alpha\) $(HELPER_OBJECTS:obj\=obj\alpha\) $(CRT_OBJECTS:*=alpha) $(INITOBJECTS:*=alpha) makefile. + lib -out:$@ @<< +$(OBJECTS:obj\=obj\alpha\) +$(CRT_OBJECTS:*=alpha) +$(INITOBJECTS:*=alpha) +<< + +$(LIBC:*=ppc): $(OBJECTS:obj\=obj\ppc\) $(HELPER_OBJECTS:obj\=obj\ppc\) $(CRT_OBJECTS:*=ppc) $(INITOBJECTS:*=ppc) makefile. + lib -out:$@ @<< +-machine:ppc +$(OBJECTS:obj\=obj\ppc\) +$(CRT_OBJECTS:*=ppc) +$(INITOBJECTS:*=ppc) +<< + + +!IF "$(TARGETNAMESUFFIX)" == "dll" + +!IF $(386) + +$(CRTEXE:*=i386): $(CRTEXE:obj\*=dllstuff\obj\i386) + -copy $** $@ + +$(CRTEXEW:*=i386): $(CRTEXEW:obj\*=dllstuff\obj\i386) + -copy $** $@ + +$(CRTDLL:*=i386): $(CRTDLL:obj\*=dllstuff\obj\i386) + -copy $** $@ + +$(CINITEXE:*=i386): $(CINITEXE:obj\*=dllstuff\obj\i386) + -copy $** $@ + +$(DLLARGV:*=i386): $(DLLARGV:obj\*=dllstuff\obj\i386) + -copy $** $@ + +$(DLLMAIN:*=i386): $(DLLMAIN:obj\*=startup\obj\i386) + -copy $** $@ + +$(DLLSUPP386): $(DLLSUPP386:obj\i386=dllstuff\obj\i386) + -copy $** $@ + +!ELSEIF $(MIPS) + +$(CRTEXE:*=mips): $(CRTEXE:obj\*=dllstuff\obj\mips) + -copy $** $@ + +$(CRTEXEW:*=mips): $(CRTEXEW:obj\*=dllstuff\obj\mips) + -copy $** $@ + +$(CRTDLL:*=mips): $(CRTDLL:obj\*=dllstuff\obj\mips) + -copy $** $@ + +$(CINITEXE:*=mips): $(CINITEXE:obj\*=dllstuff\obj\mips) + -copy $** $@ + +$(DLLARGV:*=mips): $(DLLARGV:obj\*=dllstuff\obj\mips) + -copy $** $@ + +$(DLLMAIN:*=mips): $(DLLMAIN:obj\*=startup\obj\mips) + -copy $** $@ + +!ELSEIF $(PPC) + +$(CRTEXE:*=ppc): $(CRTEXE:obj\*=dllstuff\obj\ppc) + -copy $** $@ + +$(CRTEXEW:*=ppc): $(CRTEXEW:obj\*=dllstuff\obj\ppc) + -copy $** $@ + +$(CRTDLL:*=ppc): $(CRTDLL:obj\*=dllstuff\obj\ppc) + -copy $** $@ + +$(CINITEXE:*=ppc): $(CINITEXE:obj\*=dllstuff\obj\ppc) + -copy $** $@ + +$(DLLARGV:*=ppc): $(DLLARGV:obj\*=dllstuff\obj\ppc) + -copy $** $@ + +$(DLLMAIN:*=ppc): $(DLLMAIN:obj\*=startup\obj\ppc) + -copy $** $@ + +!ELSE + +$(CRTEXE:*=alpha): $(CRTEXE:obj\*=dllstuff\obj\alpha) + -copy $** $@ + +$(CRTEXEW:*=alpha): $(CRTEXEW:obj\*=dllstuff\obj\alpha) + -copy $** $@ + +$(CRTDLL:*=alpha): $(CRTDLL:obj\*=dllstuff\obj\alpha) + -copy $** $@ + +$(CINITEXE:*=alpha): $(CINITEXE:obj\*=dllstuff\obj\alpha) + -copy $** $@ + +$(DLLARGV:*=alpha): $(DLLARGV:obj\*=dllstuff\obj\alpha) + -copy $** $@ + +$(DLLMAIN:*=alpha): $(DLLMAIN:obj\*=startup\obj\alpha) + -copy $** $@ + +!ENDIF + +!ELSEIF "$(TARGETNAMESUFFIX)" == "" + +!IF $(386) + +$(BINMODE:*=i386): $(BINMODE:obj\*=linkopts\obj\i386) + -copy $** $@ + +$(COMMODE:*=i386): $(COMMODE:obj\*=linkopts\obj\i386) + -copy $** $@ + +$(SETARGV:*=i386): $(SETARGV:obj\*=linkopts\obj\i386) + -copy $** $@ + +$(CHKSTK:*=i386): $(CHKSTK:obj\*=startup\obj\i386) + -copy $** $@ + +!ELSEIF $(MIPS) + +$(BINMODE:*=mips): $(BINMODE:obj\*=linkopts\obj\mips) + -copy $** $@ + +$(COMMODE:*=mips): $(COMMODE:obj\*=linkopts\obj\mips) + -copy $** $@ + +$(SETARGV:*=mips): $(SETARGV:obj\*=linkopts\obj\mips) + -copy $** $@ + +$(CHKSTK:*=mips): $(CHKSTK:obj\*=startup\obj\mips) + -copy $** $@ + +!ELSEIF $(PPC) + +$(BINMODE:*=ppc): $(BINMODE:obj\*=linkopts\obj\ppc) + -copy $** $@ + +$(COMMODE:*=ppc): $(COMMODE:obj\*=linkopts\obj\ppc) + -copy $** $@ + +$(SETARGV:*=ppc): $(SETARGV:obj\*=linkopts\obj\ppc) + -copy $** $@ + +$(CHKSTK:*=ppc): $(CHKSTK:obj\*=startup\obj\ppc) + -copy $** $@ + +!ELSE + +$(BINMODE:*=alpha): $(BINMODE:obj\*=linkopts\obj\alpha) + -copy $** $@ + +$(COMMODE:*=alpha): $(COMMODE:obj\*=linkopts\obj\alpha) + -copy $** $@ + +$(SETARGV:*=alpha): $(SETARGV:obj\*=linkopts\obj\alpha) + -copy $** $@ + +$(CHKSTK:*=alpha): $(CHKSTK:obj\*=startup\obj\alpha) + -copy $** $@ + +!ENDIF +!ENDIF |