# MAKEFILE FOR MICROSOFT VISUAL C++
DRIVE     = E:\MSVC
BIN       = $(DRIVE)\BIN
LIB       = $(DRIVE)\LIB
INC       = $(DRIVE)\INCLUDE
OS        = win16_vc
#
CC        = $(BIN)\CL
LINK      = $(BIN)\LINK
SRC       = .
#
WMODEL    = S            # small model
#
CFLAGS    = /nologo /G3 /W3 /O2 /Ox /D "NDEBUG" -I$(INC) -I$(SRC)
LFLAGS    = /NOLOGO /NOD /NOE /PACKC:61440 /ALIGN:16 /ONERROR:NOEXE
#
DEFS      = -DWIN16
#
ALGO      = safer
#
TESTVK    = testvk
TESTVT    = testvt
RM        = del
#
WLIBS     = $(LIB)\OLDNAMES $(LIB)\LIBW $(LIB)\SLIBCEW $(ALGO).lib
#
all: $(TESTVK) $(TESTVT) 
#

$(TESTVK): $(TESTVK).obj $(ALGO).lib
	@echo Building $@
     	@$(LINK) $(LFLAGS) $@,$@,,$(WLIBS),$(SRC)\$(TESTVK).def

$(TESTVK).obj: $(SRC)\$(TESTVK).c $(SRC)\$(ALGO).h
     	@$(CC) $(CFLAGS) $(DEFS) /A$(WMODEL)w /GA /Fo$@ /c $(SRC)\$(TESTVK).c

$(TESTVT): $(TESTVT).obj $(ALGO).lib
	@echo Building $@
     	@$(LINK) $(LFLAGS) $@, $@,,$(WLIBS),$(SRC)\$(TESTVT).def;

$(TESTVT).obj: $(SRC)\$(TESTVT).c $(SRC)\$(ALGO).h
     	@$(CC) $(CFLAGS) $(DEFS) /A$(WMODEL)w /GA /Fo$@ /c $(SRC)\$(TESTVT).c

#
clean:
        @if exist *.map $(RM) *.map
        @if exist *.obj $(RM) *.obj
        @if exist *.bak $(RM) *.bak
	@if exist *.res $(RM) *.res
        @if exist *.zip $(RM) *.zip
	@if exist *.exe $(RM) *.exe

zip:
        @zip -X $(ALGO)_$(OS).zip *.*

