280 lines
8.2 KiB
Makefile
280 lines
8.2 KiB
Makefile
# WOW32 makefile
|
|
#
|
|
# Copyright (c) 1991, Microsoft Corporation
|
|
#
|
|
# History:
|
|
# 26-Jan-1991 Jeff Parsons (jeffpar)
|
|
# Created.
|
|
#
|
|
|
|
!IFDEF NTMAKEENV
|
|
|
|
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
|
|
# file to this component. This file merely indirects to the real make file
|
|
# that is shared by all the components of NT OS/2
|
|
#
|
|
!INCLUDE $(NTMAKEENV)\makefile.def
|
|
|
|
!ELSE
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .asm .h .inc .obj .lst .sys .exe .com .map .sym .def .lib
|
|
|
|
|
|
!ifdef INCLUDE
|
|
WBIN =
|
|
INCS = -I. -I..\inc -I..\x86
|
|
!else
|
|
WBIN = ..\win30bin\\
|
|
INCS = -I. -I..\inc -I..\x86 -I..\win30inc -I$(BASEDIR)\private\tools\inc
|
|
!endif
|
|
|
|
AOBJ = -Ml -t -DDEBUG $(INCS)
|
|
|
|
CS16 = -AS -Gsw -Os -W2 -Zp -DWIN_16 -DSIM_32 -DDEBUG $(INCS)
|
|
CS16L = $(CS16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
|
|
|
|
CS32INC = -I. -I..\inc -I$(BASEDIR)\public\sdk\inc -I$(BASEDIR)\public\sdk\inc\crt
|
|
CS32FLG = -Di386=1 -DCONDITION_HANDLING=1 -DDEVL=1 -DNT_UP=1 -DNT_INST=0 -DDBG=1
|
|
CS32 = -G3sd -AS -H31 -Ot -W2 -Zdel -DWIN_32 -DSIM_32 -DDEBUG $(CS32FLG) $(CS32INC)
|
|
|
|
CW16 = -AM -G2csw -Oaegltwz -W2 -Zip -DWIN_16 -DX86 $(INCS)
|
|
CW16L = $(CW16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
|
|
|
|
CU16 = -AM -G2csw -Oaegltwz -W2 -Zip -DWIN_16 -DX86 -DDEBUG $(INCS)
|
|
CU16L = $(CU16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
|
|
|
|
CW17 = -AM -G2cs -Oaegltwz -W2 -Zip -ND WOW32_DATA -DWIN_16 -DX86 $(INCS)
|
|
CW17L = $(CW17) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
|
|
|
|
CU17 = -AM -G2cs -Oaegltwz -W2 -Zip -ND WOW32_DATA -DWIN_16 -DX86 -DDEBUG $(INCS)
|
|
CU17L = $(CU17) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
|
|
|
|
CW32INC = -I. -I..\inc -I..\x86 -I\nt\public\sdk\inc -I\nt\public\sdk\inc\crt
|
|
CW32FLG = -Di386=1 -DCONDITION_HANDLING=1 -DDEVL=1 -DNT_UP=1 -DNT_INST=0 -DDBG=1
|
|
|
|
CW32 = -G3sd -AS -H31 -Ot -W2 -Zdel -DWIN_32 -DX86 $(CW32FLG) $(CW32INC)
|
|
CU32 = -G3sd -AS -H31 -Ot -W2 -Zdel -DWIN_32 -DX86 -DDEBUG $(CW32FLG) $(CW32INC)
|
|
|
|
LINK = /map /stack:8192
|
|
|
|
!ifdef LIB
|
|
W16LIBS = slibcew libw
|
|
!else
|
|
W16LIBS = ..\win30lib\slibcew.lib ..\win30lib\libw.lib
|
|
!endif
|
|
|
|
W32LIBS = \nt\public\sdk\lib\i386\user.lib \
|
|
\nt\public\sdk\lib\i386\userrtl.lib \
|
|
\nt\public\sdk\lib\i386\base.lib \
|
|
\nt\public\sdk\lib\i386\gre.lib \
|
|
\nt\public\sdk\lib\i386\ntdll.lib \
|
|
\nt\public\sdk\lib\i386\winspool.lib \
|
|
\nt\public\sdk\lib\i386\wincrt.lib
|
|
|
|
OBJDOS1 = wow32.o16 wktbl.o16 wkman.o16 wkernel.o16 wkglobal.o16 wklocal.o16
|
|
OBJDOS2 = wutbl.o16 wuman.o16 wuansi.o16 wuclass.o16 wuclip.o16
|
|
OBJDOS3 = wucomm.o16 wudlg.o16 wumenu.o16 wuser.o16 wutext.o16 wuwind.o16
|
|
OBJDOS4 = wgtbl.o16 wgman.o16 wgdi.o16 wgfont.o16 wgmeta.o16 wgtext.o16
|
|
OBJDOS5 = wkbtbl.o16 wkbman.o16 wstbl.o16 wsman.o16 wowmsg.o16 wowres.o16
|
|
OBJDOS = $(OBJDOS1) $(OBJDOS2) $(OBJDOS3) $(OBJDOS4) $(OBJDOS5)
|
|
|
|
OBJNT1 = wow32.s32 wktbl.s32 wkman.s32 wkernel.s32 wkglobal.s32 wklocal.s32
|
|
OBJNT2 = wutbl.s32 wuman.s32 wuansi.s32 wuclass.s32 wuclip.s32
|
|
OBJNT3 = wucomm.s32 wudlg.s32 wumenu.s32 wuser.s32 wutext.s32 wuwind.s32
|
|
OBJNT4 = wgtbl.s32 wgman.s32 wgdi.s32 wgfont.s32 wgmeta.s32 wgtext.s32
|
|
OBJNT5 = wkbtbl.s32 wkbman.s32 wstbl.s32 wsman.s32 wowmsg.s32 wowres.s32
|
|
OBJNT = $(OBJNT1) $(OBJNT2) $(OBJNT3) $(OBJNT4) $(OBJNT5)
|
|
|
|
OBJW161 = wow32.u16 wktbl.u17 wkman.u16 wkernel.u16 wkglobal.u16 wklocal.u16
|
|
OBJW162 = wutbl.u17 wuman.u16 wuansi.u16 wuclass.u16 wuclip.u16
|
|
OBJW163 = wucomm.u16 wudlg.u16 wumenu.u16 wuser.u16 wutext.u16 wuwind.u16
|
|
OBJW164 = wgtbl.u17 wgman.u16 wgdi.u16 wgfont.u16 wgmeta.u16 wgtext.u16
|
|
OBJW165 = wkbtbl.u17 wkbman.u16 wstbl.u17 wsman.u16 wowmsg.u16 wowres.u16
|
|
OBJW16 = $(OBJW161) $(OBJW162) $(OBJW163) $(OBJW164) $(OBJW165)
|
|
|
|
OBJU161 = wow32.u16 wktbl.u17 wkman.u16 wkernel.u16 wkglobal.u16 wklocal.u16
|
|
OBJU162 = wutbl.u17 wuman.u16 wuansi.u16 wuclass.u16 wuclip.u16
|
|
OBJU163 = wucomm.u16 wudlg.u16 wumenu.u16 wuser.u16 wutext.u16 wuwind.u16
|
|
OBJU164 = wgtbl.u17 wgman.u16 wgdi.u16 wgfont.u16 wgmeta.u16 wgtext.u16
|
|
OBJU165 = wkbtbl.u17 wkbman.u16 wstbl.u17 wsman.u16 wowmsg.u16 wowres.u16
|
|
OBJU16 = $(OBJU161) $(OBJU162) $(OBJU163) $(OBJU164) $(OBJU165)
|
|
|
|
OBJW321 = wow32.u32 wktbl.u32 wkman.u32 wkernel.u32 wkglobal.u32 wklocal.u32
|
|
OBJW322 = wutbl.u32 wuman.u32 wuansi.u32 wuclass.u32 wuclip.u32
|
|
OBJW323 = wucomm.u32 wudlg.u32 wumenu.u32 wuser.u32 wutext.u32 wuwind.u32
|
|
OBJW324 = wgtbl.u32 wgman.u32 wgdi.u32 wgfont.u32 wgmeta.u32 wgtext.u32
|
|
OBJW325 = wkbtbl.u32 wkbman.u32 wstbl.u32 wsman.u32 wowmsg.u32 wowres.u32
|
|
OBJW32 = $(OBJW321) $(OBJW322) $(OBJW323) $(OBJW324) $(OBJW325)
|
|
|
|
OBJU321 = wow32.u32 wktbl.u32 wkman.u32 wkernel.u32 wkglobal.u32 wklocal.u32
|
|
OBJU322 = wutbl.u32 wuman.u32 wuansi.u32 wuclass.u32 wuclip.u32
|
|
OBJU323 = wucomm.u32 wudlg.u32 wumenu.u32 wuser.u32 wutext.u32 wuwind.u32
|
|
OBJU324 = wgtbl.u32 wgman.u32 wgdi.u32 wgfont.u32 wgmeta.u32 wgtext.u32
|
|
OBJU325 = wkbtbl.u32 wkbman.u32 wstbl.u32 wsman.u32 wowmsg.u32 wowres.u32
|
|
OBJU32 = $(OBJU321) $(OBJU322) $(OBJU323) $(OBJU324) $(OBJU325)
|
|
|
|
|
|
.h.inc:
|
|
h2inc -t $*.h -o $*.inc
|
|
|
|
|
|
.asm.obj:
|
|
masm $(AOBJ) $*;
|
|
|
|
.asm.lst:
|
|
masm $(AOBJ) -l $*,nul,$*.lst;
|
|
|
|
|
|
.c.o16:
|
|
cl -c -nologo $(CS16) $*.c
|
|
|
|
.c.l16:
|
|
cl -c -nologo $(CS16) -Fonul -Fc$*.l16 $*.c
|
|
|
|
.c.s32:
|
|
cl386 -c -nologo $(CS32) -Fo$*.s32 $*.c
|
|
cvtomf $*.s32
|
|
|
|
.c.l32:
|
|
cl386 -c -nologo $(CS32) -Fonul -Fc$*.l32 $*.c
|
|
|
|
.c.w16:
|
|
cl -c -nologo $(CW16) -Fo$@ $*.c
|
|
|
|
.c.u16:
|
|
cl -c -nologo $(CU16) -Fo$@ $*.c
|
|
|
|
.c.u17:
|
|
cl -c -nologo $(CU17) -Fo$@ $*.c
|
|
|
|
.c.v16:
|
|
cl -c -nologo $(CU16) -Fonul -Fc$@ $*.c
|
|
|
|
.c.w32:
|
|
cl386 -c -nologo $(CW32) -Fo$@ $*.c
|
|
cvtomf $*.w32
|
|
|
|
.c.u32:
|
|
cl386 -c -nologo $(CU32) -Fo$@ $*.c
|
|
cvtomf $*.u32
|
|
|
|
.c.v32:
|
|
cl386 -c -nologo $(CU32) -Fonul -Fc$@ $*.c
|
|
|
|
|
|
.def.lib:
|
|
implib $*.lib $*.def
|
|
|
|
.map.sym:
|
|
$(WBIN)mapsym $*
|
|
|
|
|
|
default:
|
|
cd ..\x86
|
|
$(MAKE) -c ntwin
|
|
cd ..\wow32
|
|
|
|
all: wow32nt.exe
|
|
|
|
clean:
|
|
if exist *.lrf del *.lrf
|
|
if exist *.def del *.def
|
|
if exist *.obj del *.obj
|
|
if exist *.s32 del *.s32
|
|
if exist *.w16 del *.w16
|
|
if exist *.u16 del *.u16
|
|
if exist *.w17 del *.w17
|
|
if exist *.u17 del *.u17
|
|
if exist *.w32 del *.w32
|
|
if exist *.u32 del *.u32
|
|
-if exist *.exe del *.exe
|
|
if exist *.map del *.map
|
|
if exist *.sym del *.sym
|
|
if exist *.lib del *.lib
|
|
|
|
|
|
wow32dos.lrf: makefile
|
|
echo $(OBJDOS1)+>wow32dos.lrf
|
|
echo $(OBJDOS2)+>>wow32dos.lrf
|
|
echo $(OBJDOS3)+>>wow32dos.lrf
|
|
echo $(OBJDOS4)+>>wow32dos.lrf
|
|
echo $(OBJDOS5)>>wow32dos.lrf
|
|
echo wow32dos $(LINK)>>wow32dos.lrf
|
|
echo wow32dos>>wow32dos.lrf
|
|
echo /nod:slibce $(W16LIBS) ..\sim16\sim16>>wow32dos.lrf
|
|
echo wow32dos;>>wow32dos.lrf
|
|
|
|
wow32dos.def: makefile
|
|
echo name wow32dos>wow32dos.def
|
|
echo exetype windows>>wow32dos.def
|
|
echo stub 'winstub.exe'>>wow32dos.def
|
|
echo code preload moveable discardable>>wow32dos.def
|
|
echo data preload moveable multiple>>wow32dos.def
|
|
echo heapsize 4096>>wow32dos.def
|
|
echo exports WOW32WndProc>>wow32dos.def
|
|
echo exports WOW32About>>wow32dos.def
|
|
echo exports WOW32DialogFunc>>wow32dos.def
|
|
echo exports WOW32TimerFunc>>wow32dos.def
|
|
|
|
wow32dos.exe: $(OBJDOS) ..\sim16\sim16.lib wow32dos.lrf wow32dos.def
|
|
link @wow32dos.lrf;
|
|
rc wow32dos.exe
|
|
|
|
|
|
wow32nt.lrf: makefile
|
|
echo -machine:i386>wow32nt.lrf
|
|
echo -base:@\NT\PUBLIC\SDK\LIB\coffbase.txt,usermode>>wow32nt.lrf
|
|
echo -subsystem:windows>>wow32nt.lrf
|
|
echo -entry:BaseProcessStartup>>wow32nt.lrf
|
|
echo.>>wow32nt.lrf
|
|
echo $(OBJNT) ..\sim32\obj\i386\sim32.obj>>wow32nt.lrf
|
|
echo $(W32LIBS)>>wow32nt.lrf
|
|
|
|
wow32nt.exe: $(OBJNT) ..\sim32\obj\i386\sim32.obj wow32nt.lrf
|
|
coff -link -out:wow32nt.exe @wow32nt.lrf
|
|
|
|
|
|
x86w16.lrf: makefile
|
|
echo x86w16>x86w16.lrf
|
|
echo y>>x86w16.lrf
|
|
echo $(OBJW161)^&>>x86w16.lrf
|
|
echo $(OBJW162)^&>>x86w16.lrf
|
|
echo $(OBJW163)^&>>x86w16.lrf
|
|
echo $(OBJW164)^&>>x86w16.lrf
|
|
echo $(OBJW165);>>x86w16.lrf
|
|
|
|
x86w16.lib: $(OBJW16) x86w16.lrf
|
|
if exist x86w16.lib del x86w16.lib
|
|
lib /nologo @x86w16.lrf
|
|
|
|
|
|
x86u16.lrf: makefile
|
|
echo x86u16>x86u16.lrf
|
|
echo y>>x86u16.lrf
|
|
echo $(OBJU161)^&>>x86u16.lrf
|
|
echo $(OBJU162)^&>>x86u16.lrf
|
|
echo $(OBJU163)^&>>x86u16.lrf
|
|
echo $(OBJU164)^&>>x86u16.lrf
|
|
echo $(OBJU165);>>x86u16.lrf
|
|
|
|
x86u16.lib: $(OBJW16) x86u16.lrf
|
|
if exist x86u16.lib del x86u16.lib
|
|
lib /nologo @x86u16.lrf
|
|
|
|
|
|
x86w32.lrf: makefile
|
|
echo $(OBJW32)>x86w32.lrf
|
|
|
|
x86w32.lib: $(OBJW32) x86w32.lrf
|
|
coff -lib -out:x86w32.lib @x86w32.lrf
|
|
|
|
|
|
x86u32.lrf: makefile
|
|
echo $(OBJU32)>x86u32.lrf
|
|
|
|
x86u32.lib: $(OBJU32) x86u32.lrf
|
|
coff -lib -out:x86u32.lib @x86u32.lrf
|
|
|
|
!ENDIF
|