!INCLUDE ..\makefile.inc

#
# retail flags
CL = $(CL) -c -AS -G2sw -Os -D__MSC__ -W3 -Zpe
MASM = $(ASM) $(INCS)
#
# debug flags
#

!if !$(FREEBUILD)
DEBUG=1
CDEBUG  = /Od /Oi /Zd
ADEBUG  = -Zd
LDEBUG  = /LI
!endif

!ifdef DEBUG
CL = $(CL) $(CDEBUG)
MASM = $(MASM) $(ADEBUG)
LDEBUG = $(LDEBUG)
!endif

INCS    = -I..\inc -I..\..\inc -I..\toolhelp
INCLUDES=..\inc;..\..\inc;..\toolhelp;$(SDK_INC_PATH)

OBJ = $(DEST)\drwatson.obj $(DEST)\disasm.obj $(DEST)\getsym.obj $(DEST)\watson.obj $(DEST)\error.obj

RES_DIR=.\messages\$(ALT_PROJECT)


all:  $(DEST)\drwatson.exe

.c{$(DEST)}.obj:
        set include=$(INCLUDES)
        $(CL) -Fo$* $(*F).c

$(DEST)\drwatson.obj: drwatson.c drwatson.h disasm.h str.h

$(DEST)\error.obj: error.c str.h

$(DEST)\disasm.obj : disasm.c disasm.h

$(DEST)\getsym.obj : getsym.c drwatson.h disasm.h

$(DEST)\watson.obj : watson.asm
        $(MASM) watson.asm,$(DEST)\watson,$(DEST)\watson.lst;
	
$(DEST)\drwatson.rc : $(RES_DIR)\drwatson.rc
    copy $? $@

$(DEST)\drwatson.rcv : $(RES_DIR)\drwatson.rcv
    copy $? $@

$(DEST)\drwatson.res: $(DEST)\drwatson.rc $(DEST)\drwatson.rcv ..\inc\common.ver str.h
        set INCLUDE=$(INCLUDES)
        $(RC) -r $(INCS) $(DEST)\drwatson.rc

$(DEST)\sherlock.lnk: makefile.sub
   echo $(DEST)\drwatson.obj $(DEST)\disasm.obj $(DEST)\getsym.obj $(DEST)\watson.obj $(DEST)\error.obj>$@
   echo $(DEST)\drwatson.exe>>$@
   echo $(DEST)\drwatson.map>>$@
   echo /batch ..\lib\$(ALT_PROJECT)\libw ..\lib\slibcew ..\toolhelp\$(DEST)\toolhelp>>$@
   echo drwatson.def /ALIGN:16 /NOE /NOD /MAP;>>$@

$(DEST)\drwatson.exe: $(DEST)\sherlock.lnk $(DEST)\drwatson.res $(DEST)\sherlock.lnk drwatson.def \
               $(DEST)\drwatson.obj $(DEST)\disasm.obj $(DEST)\getsym.obj $(DEST)\watson.obj $(DEST)\error.obj
        $(LINK) $(LDEBUG) @$(DEST)\sherlock.lnk
        mapsym -o $*.sym $*
        $(RC) -t -30 $(DEST)\drwatson.res $(DEST)\drwatson.exe
        binplace -o $(ALT_PROJECT_TARGET) $(DEST)\drwatson.exe $(DEST)\drwatson.map $(DEST)\drwatson.sym

# note that TOOLHELP.LIB must exist somewhere on your lib path

clean: all