# wowexec makefile
#
# Copyright (c) 1991, Microsoft Corporation
#
# History:
#   26-Jan-1991 Matt Felton (mattfe)
#   21-Mar-1992 Matt Felton Code from win 3.1 progman
#   Created.
#
LVL_2 = 1
!INCLUDE ..\..\makefile.inc

AOBJ    = -W2 -DSEGNAME=COMMAND $(INCS)

!if !$(FREEBUILD)
COBJ    = -AS -G2s -Os -W2 -Zp -DDEBUG
CW16    = -AS -G2sw -Os -W2 -Zp -DDEBUG
!else
COBJ    = -AS -G2s -Os -W2 -Zp
CW16    = -AS -G2sw -Os -W2 -Zp
!endif

CW16L   = $(CW16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe

LINKOPTS    = /map /stack:8192 /align:16

!if !$(FREEBUILD)
AOBJ    = $(AOBJ) -Zd
CW16    = $(CW16) /Od /Oi /Zd
LINKOPTS = $(LINKOPTS) /LI
RCFLAGS = -DDEBUG
!endif

W16LIBS = ..\..\lib\snocrt.lib ..\..\lib\$(ALT_PROJECT)\libw.lib
CW16    =$(CW16) $(DBCS_FLAGS)
AOBJ    =$(AOBJ) $(DBCS_FLAGS)
!if "$(ALT_PROJECT)" != "USA"
W16LIBS =$(W16LIBS) ..\..\lib\$(DEST)\winnls.lib
!endif


.h.inc:
    h2inc -t $*.h -o $*.inc


.asm.obj:
    $(ASM) $(AOBJ) $*;

.asm.lst:
    $(ASM) $(AOBJ) -l $*,nul,$*.lst;


.c.obj:
    $(CL) -c -nologo $(CW16) $*.c

.c.lst:
    $(CL) -c -nologo $(CW16) -Fonul -Fc$*.lst $*.c


.def.lib:
    implib $*.lib $*.def


all: $(DEST)\wowexec.exe $(DEST)\wowexec.sym
    binplace -o $(ALT_PROJECT_TARGET) $(DEST)\wowexec.exe $(DEST)\wowexec.map $(DEST)\wowexec.sym
clean: cleanup all

cleanup:
    if exist *.def del *.def
    cd $(DEST)
    if exist *.lrf del *.lrf
    if exist *.def del *.def
    if exist *.obj del *.obj
    if exist *.exe del *.exe
    if exist *.map del *.map
    if exist *.sym del *.sym
    if exist *.res del *.res
    cd ..\..\..

$(DEST)\wowexec.obj:wowexec.c ..\..\..\inc\wowinfo.h
    @set include=$(ENVINCS);$(INCLUDE)
    $(CL) -c -nologo $(CW16) -Fo$*.obj $(*F).c

$(DEST)\wowexfax.obj:wowexfax.c wowexec.h ..\..\..\inc\wowfax.h
    @set include=$(ENVINCS);$(INCLUDE)
    $(CL) -c -nologo $(CW16) -Fo$*.obj $(*F).c


$(DEST)\wowexec.lrf: makefile.sub
    echo $(DEST)\wowexec.obj $(DEST)\pmdos.obj $(DEST)\wowexfax.obj>$(DEST)\wowexec.lrf
    echo $(DEST)\wowexec $(LINKOPTS)>>$(DEST)\wowexec.lrf
    echo $(DEST)\wowexec>>$(DEST)\wowexec.lrf
    echo $(W16LIBS) /batch /nod>>$(DEST)\wowexec.lrf
    echo $(DEST)\wowexec.def;>>$(DEST)\wowexec.lrf

$(DEST)\wowexec.def: makefile.sub
    echo name wowexec                       >$(DEST)\wowexec.def
    echo exetype windows                   >>$(DEST)\wowexec.def
    echo stub '..\..\bin\winstub.exe'      >>$(DEST)\wowexec.def
    echo code preload moveable discardable >>$(DEST)\wowexec.def
    echo data preload moveable multiple    >>$(DEST)\wowexec.def
    echo heapsize 512                      >>$(DEST)\wowexec.def
    echo exports WndProc                   >>$(DEST)\wowexec.def
    echo exports FaxWndProc                >>$(DEST)\wowexec.def
    echo imports                           >>$(DEST)\wowexec.def
    echo WOWQUERYDEBUG = KERNEL.512        >>$(DEST)\wowexec.def
    echo WOWWAITFORMSGANDEVENT = KERNEL.262>>$(DEST)\wowexec.def
    echo WOWMSGBOX             = KERNEL.263>>$(DEST)\wowexec.def
    echo WOWPARTYBYNUMBER      = KERNEL.273>>$(DEST)\wowexec.def
!if "$(ALT_PROJECT)" != "USA"
    echo WOWNLSDUMMY = WINNLS.6            >>$(DEST)\wowexec.def
!endif

$(DEST)\wowexec.res: wowexec.rc
    @set include=$(ENVINCS);$(INCLUDE)
    $(RC) -r $(RCFLAGS) -fo $(DEST)\wowexec.res wowexec.rc


$(DEST)\wowexec.exe: $(DEST)\wowexec.obj $(DEST)\wowexec.lrf $(DEST)\wowexec.def $(DEST)\pmdos.obj $(DEST)\wowexfax.obj $(DEST)\wowexec.res
    $(LINK) @$(DEST)\wowexec.lrf;
    $(RC) -t -31 $(DEST)\wowexec.res $(DEST)\wowexec.exe
