#
# Custom Control makefile
#

.SUFFIXES:  .asm .c .def .vbx .h .lnk .map .obj .rc .res .sym

PRODUCT = GRID

Default: $(PRODUCT).vbx

#
# Tools required
#

AS	    = masm
CC	    = cl
CVPACK	    = cvpack
LINK	    = link
MAPSYM	    = mapsym
RC	    = $(RCPATH)rc
SZSCRN	    = echo>con

#
# Flags
#

AFLAGS	    = -W2 -V -E -P -Zi
CFLAGS	    = -W4 -c -G2csw -Alnw -Zip
LFLAGS	    = /co /align:16 /batch /far /li /map /nod /noe /nop /w

#
# DEFAULT BUILD RULES
#

.c.obj:
    $(SZSCRN) Compiling $(<F)
    if exist $@ del $@
    $(CC) $(CFLAGS) $<

.asm.obj:
    $(SZSCRN) Assembling $(<F)
    $(AS) $(AFLAGS) $<,$@;

#
# Dependencies
#

ccinit.obj:	ccinit.c $(PRODUCT).h

libinit.obj:	libinit.asm

$(PRODUCT).obj: $(PRODUCT).c $(PRODUCT).h

$(PRODUCT).vbx: libinit.obj ccinit.obj $(PRODUCT).obj $(PRODUCT).lnk \
	$(PRODUCT).res $(PRODUCT).def
    $(SZSCRN) Linking $(PRODUCT).vbx...
    $(LINK) /co @$(PRODUCT).lnk
    $(SZSCRN) CVPACKing $(PRODUCT).vbx...
    $(CVPACK) -p $(PRODUCT).vbx
    $(SZSCRN) RCing $(PRODUCT).vbx...
    $(RC) $(PRODUCT).res $(PRODUCT).vbx
    $(SZSCRN) MAPSYMing $(PRODUCT).vbx...
    $(MAPSYM) $(PRODUCT)
    $(SZSCRN) Done Linking $(PRODUCT).vbx

$(PRODUCT).lnk: makefile
    $(SZSCRN) Making <<$(PRODUCT).lnk
    libinit.obj+
    ccinit.obj+
    $(PRODUCT).obj
    $(PRODUCT).vbx $(LFLAGS)
    $(PRODUCT).map
    vbapi.lib mdllcew.lib libw.lib
    $(PRODUCT).def
<<KEEP

$(PRODUCT).res: $(PRODUCT).rc $(PRODUCT).h \
	$(PRODUCT)cdn.bmp \
	$(PRODUCT)cup.bmp \
	$(PRODUCT)mdn.bmp \
	$(PRODUCT)mup.bmp \
	$(PRODUCT)edn.bmp \
	$(PRODUCT)eup.bmp \
	hsep.cur	  \
	vsep.cur
    $(SZSCRN) Resource compiling $(PRODUCT).RC
    $(RC) -R -i$(TOOLS)\inc $(RCINCS) $(PRODUCT).rc

cln:
    -del *.obj
    -del *.res
    -del *.lnk
    -del *.vbx
    -del *.map
    -del *.sym
