
# nmake makefile to create PESTUB.EXE
# tools used:
# - JWasm
# - JWlink

name = PESTUB

#--- this app may be generated as standard MZ executable as well.
#--- however, jwLink may complain about multiple start addresses.

MZAPP=0
USEDLL=0

!ifndef DEBUG
DEBUG=0
!endif

!if $(MZAPP)
OUTDIR=OMF
AOPTD=
!elseif $(DEBUG)
OUTDIR=DEBUG
AOPTD=-Zi -D_DEBUG
!else
OUTDIR=RELEASE
AOPTD=
!endif

!include <..\dirs>

!if $(MZAPP)

LOPTD=

AOPT= -c -nologo -Sg -Fl$* -Fo$* -D?FLAT=0 -D_ML $(AOPTD) -I$(INC32DIR)

LIBS=$(LIBOMF)\jmppm32.lib $(LIBOMF)\dkrnl32s.lib $(LIBOMF)\libc32.lib
MODS=$*.obj $(LIBOMF)\jmppm32.obj

!else

!if $(DEBUG)
LOPTD=/DEBUG
!else
LOPTD=
!endif

AOPT= -c -coff -nologo -Sg -Fl$* -Fo$* -D?FLAT=1 $(AOPTD) -I$(INC32DIR)

!if $(USEDLL)
CRTLIB=$(LIBCOFF)\crtdll.lib
!endif

LIBS= dkrnl32.lib duser32s.lib $(CRTLIB)

!if $(MSLINK)
LOPT=/OUT:$*.EXE /NOLOGO /NODEFAULTLIB /MAP:$*.map /SUBSYSTEM:CONSOLE $(LOPTD) /LIBPATH:$(LIBCOFF) /FIXED:NO  /STUB:dpmist32.bin /MERGE:.rdata=.data /MERGE:.reloc=.text /OPT:NOWIN98 /STACK:0x4000
!endif

!endif

ALL: $(OUTDIR) $(OUTDIR)\$(name).EXE

$(OUTDIR):
	@mkdir $(OUTDIR)

!if $(MZAPP)

$(OUTDIR)\$(name).EXE: $*.obj makefile
	@$(LINK16BIN) format dos file {$(MODS)} name $*.EXE lib {$(LIBS)} op q,map=$*.MAP

!else

$(OUTDIR)\$(name).EXE: $*.obj makefile
!if $(MSLINK)
	@$(LINKBIN) $* $(LIBS) $(LOPT)
!else
	@$(LINKBIN) format win pe file $* name $*.EXE libpath $(LIBCOFF) lib { $(LIBS) } op q, stub=dpmist32.bin, map=$*, stack=0x2000, heap=0x1000
!endif

!endif

$(OUTDIR)\$(name).obj: $(name).asm makefile
	@$(ASM) $(AOPT) $(name).asm

clean:
	@del $(OUTDIR)\*.obj
	@del $(OUTDIR)\*.exe
	@del $(OUTDIR)\*.lst
	@del $(OUTDIR)\*.map

