.ERASE

######### DIRECTORIES ##########

# remember to change the paths below to your settings

SVGALIB_DIR =m:\watcom\SCITECH\LIB\DOS32\WC
INCLUDE_DIR =m:\watcom\SCITECH\INCLUDE
INC_DIR     = ..\include
INCLUDES    =/i$(INCLUDE_DIR) /i$(INC_DIR)
SRC_DIR     = .
OBJ_DIR     = .

######## NAMES OF EXECUTABLES ##########

MAKELIB =  WLIB
CCEXE   =  WCC386
ASMEXE  =  WASM
LINKEXE =  WLINK

######## FLAGS ##########
CFLAGS    = /zq /w4 /s /5r /oi /or /oa /ol+ /ox /ot #/DVECTREX
#/DVECTREX
#CFLAGS     = /d2 /zq /w4 /s /5r #/DVECTREX
#/DT_DEBUG_ALLOW

#
#/d2           /d2 <-> /oi /or /oa /ol+/ox /ot
LIBFLAGS   = /b /c /n /q /p=512

#LINKFLAGS= DEBUG ALL
LINKFLAGS= $#

######## NAME OF FINAL EXECUTABLE/LIBRARY ########

OLIB_EXE = OLIB.EXE
EXENAME  = TOOLS.EXE
LIBNAME  = TOOLS.LIB

######## LIBRARIES ADDED
OLIBS      =$(SVGALIB_DIR)\svga.lib &
            $(SVGALIB_DIR)\DOS4GW\pmode.lib

LIBS       =$(OLIBS) &
            $(LIBNAME)

######## LIST OF OBJECTS ########
PROG_OBJECTS = main.obj

OBJECTS  = file.obj &
           dosmem.obj &
           d_list.obj &
           error.obj &
           vesa.obj &
           palette.obj &
           pcx.obj &
           bild.obj &
           win_raw.obj &
           l_level.obj &
           button.obj &
           tprint.obj &
           tdispatc.obj &
           request.obj &
           tool.obj &
           updatef.obj &
           parser.obj &
           keyboard.obj &
           help.obj &
           edit.obj

LINK_OBJ  =$(PROG_OBJECTS)
OLIB_OBJ  =$(PROG_OBJECTS) $(OBJECTS)

######## LIST OF DEPENDENCES ########

$(EXENAME): out_text $(PROG_OBJECTS) $(LIBNAME) __link__.tmp
        @ECHO Linking $(EXENAME) ...
        @$(LINKEXE) @__link__.tmp
        @echo Done.

$(LIBNAME): $(OBJECTS) __lib__.tmp
        @cd $(OBJ_DIR)
        @echo Building library $(LIBNAME) ...
        @$(MAKELIB) $(LIBNAME) @__lib__.tmp
        @cd $(SRC_DIR)

$(OLIB_EXE): out_text $(OLIB_OBJ) $(OBJ_DIR)\__link__.tmp
        @ECHO Linking $(EXENAME) ...
        @$(LINKEXE) @__link__.tmp
        @echo Done.

# I don't believe in automation in  s...

out_text: .symbolic
        @ECHO default is 'tools.exe', built using the library.
        @ECHO if you want to build the program without the library
        @ECHO type
        @ECHO "     wmake olib.exe"
        @ECHO to build only the library type
        @ECHO "     wmake tools.exe"

__link__.tmp: makefile
        @ECHO default is 'tools.exe', built using the library.
        @ECHO if you want to build the program without the library
        @ECHO type
        @ECHO "     wmake olib.exe"
        @ECHO to build only the library type
        @ECHO "     wmake tools.exe"
             @%create $(OBJ_DIR)\__link__.tmp
             @%append $(OBJ_DIR)\__link__.tmp $(LINKFLAGS)
#             @%append $(OBJ_DIR)\__link__.tmp SYSTEM PMODEW
             @%append $(OBJ_DIR)\__link__.tmp SYSTEM DOS4G
#             @%append $(OBJ_DIR)\__link__.tmp SYSTEM DOS32A
             @%append $(OBJ_DIR)\__link__.tmp OPTION MAXE=25
             @%append $(OBJ_DIR)\__link__.tmp OPTION SYMF
             @%append $(OBJ_DIR)\__link__.tmp OPTION MAP
             @%append $(OBJ_DIR)\__link__.tmp OPTION QUIET
             @%append $(OBJ_DIR)\__link__.tmp OPTION STACK=512K
             @%append $(OBJ_DIR)\__link__.tmp NAME $(EXENAME)
             @for %i in ($(PROG_OBJECTS)) do @%append $(OBJ_DIR)\__link__.tmp FILE %i
             @for %i in ($(LIBS)) do @%append $(OBJ_DIR)\__link__.tmp LIBRARY %i

$(OBJ_DIR)\__comp__.tmp: makefile
             @%create $(OBJ_DIR)\__comp__.tmp
             @for %i in ($(CFLAGS)) do @%append $(OBJ_DIR)\__comp__.tmp %i
             @for %i in ($(INCLUDES)) do @%append $(OBJ_DIR)\__comp__.tmp %i

__lib__.tmp: makefile
             @%create __lib__.tmp
             @for %i in ($(LIBFLAGS)) do @%append __lib__.tmp %i
             @for %i in ($(OBJECTS)) do @%append __lib__.tmp +'%i'

#$(OBJ_DIR)\__link__.tmp: makefile
#             @%create $(OBJ_DIR)\__link__.tmp
#             @%append $(OBJ_DIR)\__link__.tmp $(LINKFLAGS)
#             @%append $(OBJ_DIR)\__link__.tmp SYSTEM PMODEW
#             @%append $(OBJ_DIR)\__link__.tmp SYSTEM DOS4G
#             @%append $(OBJ_DIR)\__link__.tmp SYSTEM DOS32A
#             @%append $(OBJ_DIR)\__link__.tmp OPTION MAXE=25
#             @%append $(OBJ_DIR)\__link__.tmp OPTION SYMF
#             @%append $(OBJ_DIR)\__link__.tmp OPTION MAP
#             @%append $(OBJ_DIR)\__link__.tmp OPTION QUIET
#             @%append $(OBJ_DIR)\__link__.tmp OPTION STACK=512K
#             @%append $(OBJ_DIR)\__link__.tmp NAME $(OLIB_EXE)
#             @for %i in ($(OLIB_OBJ)) do @%append $(OBJ_DIR)\__link__.tmp FILE %i
#             @for %i in ($(OLIBS)) do @%append $(OBJ_DIR)\__link__.tmp LIBRARY %i

main.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\main.c
        @echo Compiling main.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\main.obj $(SRC_DIR)\main.c @$(OBJ_DIR)\__comp__.tmp

file.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\file.c $(INC_DIR)\file.h $(INC_DIR)\standard.h $(INC_DIR)\dosmem.h
        @echo Compiling file.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\file.obj $(SRC_DIR)\file.c @$(OBJ_DIR)\__comp__.tmp

dosmem.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\dosmem.c $(INC_DIR)\dosmem.h $(INC_DIR)\standard.h
        @echo Compiling dosmem.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\dosmem.obj $(SRC_DIR)\dosmem.c @$(OBJ_DIR)\__comp__.tmp

d_list.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\d_list.c $(INC_DIR)\d_list.h $(INC_DIR)\standard.h
        @echo Compiling d_list.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\d_list.obj $(SRC_DIR)\d_list.c @$(OBJ_DIR)\__comp__.tmp

error.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\error.c $(INC_DIR)\error.h $(INC_DIR)\standard.h
        @echo Compiling error.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\error.obj $(SRC_DIR)\error.c @$(OBJ_DIR)\__comp__.tmp

vesa.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\vesa.c $(INC_DIR)\vesa.h $(INC_DIR)\standard.h
        @echo Compiling vesa.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\vesa.obj $(SRC_DIR)\vesa.c @$(OBJ_DIR)\__comp__.tmp

palette.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\palette.c $(INC_DIR)\palette.h $(INC_DIR)\standard.h
        @echo Compiling palette.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\palette.obj $(SRC_DIR)\palette.c @$(OBJ_DIR)\__comp__.tmp

pcx.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\pcx.c $(INC_DIR)\pcx.h $(INC_DIR)\standard.h
        @echo Compiling pcx.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\pcx.obj $(SRC_DIR)\pcx.c @$(OBJ_DIR)\__comp__.tmp

bild.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\bild.c $(INC_DIR)\bild.h $(INC_DIR)\standard.h
        @echo Compiling bild.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\bild.obj $(SRC_DIR)\bild.c @$(OBJ_DIR)\__comp__.tmp

l_level.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\l_level.c $(INC_DIR)\l_level.h $(INC_DIR)\standard.h
        @echo Compiling l_level.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\l_level.obj $(SRC_DIR)\l_level.c @$(OBJ_DIR)\__comp__.tmp

button.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\button.c $(INC_DIR)\button.h $(INC_DIR)\standard.h
        @echo Compiling button.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\button.obj $(SRC_DIR)\button.c @$(OBJ_DIR)\__comp__.tmp

tprint.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\tprint.c $(INC_DIR)\tprint.h $(INC_DIR)\standard.h
        @echo Compiling tprint.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\tprint.obj $(SRC_DIR)\tprint.c @$(OBJ_DIR)\__comp__.tmp

win_raw.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\win_raw.c $(INC_DIR)\win_raw.h $(INC_DIR)\standard.h
        @echo Compiling win_raw.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\win_raw.obj $(SRC_DIR)\win_raw.c @$(OBJ_DIR)\__comp__.tmp

request.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\request.c $(INC_DIR)\request.h $(INC_DIR)\standard.h
        @echo Compiling request.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\request.obj $(SRC_DIR)\request.c @$(OBJ_DIR)\__comp__.tmp

tdispatc.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\tdispatc.c $(INC_DIR)\tdispatc.h $(INC_DIR)\standard.h
        @echo Compiling tdispatc.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\tdispatc.obj $(SRC_DIR)\tdispatc.c @$(OBJ_DIR)\__comp__.tmp

tool.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\tool.c $(INC_DIR)\tool.h $(INC_DIR)\standard.h
        @echo Compiling tool.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\tool.obj $(SRC_DIR)\tool.c @$(OBJ_DIR)\__comp__.tmp

updatef.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\updatef.c $(INC_DIR)\updatef.h $(INC_DIR)\standard.h
        @echo Compiling updatef.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\updatef.obj $(SRC_DIR)\updatef.c @$(OBJ_DIR)\__comp__.tmp

help.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\help.c $(INC_DIR)\help.h $(INC_DIR)\standard.h
        @echo Compiling help.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\help.obj $(SRC_DIR)\help.c @$(OBJ_DIR)\__comp__.tmp

edit.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\edit.c $(INC_DIR)\edit.h $(INC_DIR)\standard.h
        @echo Compiling edit.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\edit.obj $(SRC_DIR)\edit.c @$(OBJ_DIR)\__comp__.tmp

parser.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\parser.c $(INC_DIR)\parser.h $(SRC_DIR)\valid_st.i $(INC_DIR)\standard.h
        @echo Compiling parser.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\parser.obj $(SRC_DIR)\parser.c @$(OBJ_DIR)\__comp__.tmp

keyboard.obj: $(OBJ_DIR)\__comp__.tmp $(SRC_DIR)\keyboard.c $(INC_DIR)\keyboard.h $(INC_DIR)\standard.h $(INC_DIR)\keydef.h $(INC_DIR)\keyconv.h
        @echo Compiling keyboard.obj ...
        @$(CCEXE) -fo=$(OBJ_DIR)\keyboard.obj $(SRC_DIR)\keyboard.c @$(OBJ_DIR)\__comp__.tmp

clean: .SYMBOLIC
    @cd $(OBJ_DIR)
    del *.obj
    del *.tmp
    del *.sym
    @cd $(SRC_DIR)
    del *.exe
    del *.lib
    del *.map
    @echo Clean done ...

