# $Id: makefile.%v 1.2 1994/11/07 23:07:18 Pietro_Mokrosh Exp $
#

#CONFIG----------------------------------------------------------------------

STACKSIZE	= 16384				#we use much recurcion + OOP..

CONVENTION 	= 3r				#386 Register / 386 Stack

CDEBUG		=
#CDEBUG		= -d1
#CDEBUG		= -d2

#OPTIMIZE	=
OPTIMIZE	= -ox -ot

#SYSTEM  	= pmodew
#SYSTEM  	= mydos4g
SYSTEM  	= dos4g

#AUTODEPEND

#COMPILER FLAGS--------------------------------------------------------------
#		  Opt Intrinsic/Loops/Expand/Reorder-Pipe
#                          Opt for Time
#                             Debug Info
#                                Warnings
#                                   Quiet
C_Options   	= $(OPTIMIZE) $(CDEBUG) -mf -zq -$(CONVENTION) -I=H #-dCREATERES=1
CPP_Options 	= $(OPTIMIZE) $(CDEBUG) -mf -zq -$(CONVENTION) -I=H #-dCREATERES=1
Asm_Options 	= /zi /oi /m /t /iH
Linker_options  = debug all op map=outbreak.map



Object_files =&
cstart$(CONVENTION).obj &
cmain386.obj &
getlomem.obj &
rint.obj &
_svga.obj &
bounds.obj &
svga.obj &
putshp.obj &
font8x16.obj &
_pal.obj &
main.obj &
_timer.obj &
timer.obj &
error.obj &
resource.obj &
dos_seek.obj &
_mouse.obj &
mouse.obj &
rectfill.obj &
worldmap.obj &
meminfo.obj &
_keybrd.obj &
keyboard.obj &
event.obj &
profiler.obj &
window.obj &
statline.obj &
shapewin.obj &
infowin.obj &
boundstk.obj &
wrldfile.obj &
object.obj &
xydirvct.obj &
zfortify.obj &
player.obj


RCObject_files =&
getlomem.obj &
rint.obj &
error.obj &
resource.obj &
dos_seek.obj &
rc.obj &
createrf.obj




##########
## LINK ##
##########

OUTBREAK.EXE: $(Object_files)
 *wlink system $(SYSTEM) op STACK=$(STACKSIZE) $(Linker_Options) name OUTBREAK.EXE file {$(Object_files)}
 @ECHO Creating Distribution, non-debug copy
 @xcopy outbreak.exe ..\ >nul
 @wstrip ..\outbreak.exe >nul

RC.EXE: $(RCObject_files)
 *wlink system $(SYSTEM) op STACK=$(STACKSIZE) $(Linker_Options) name RC.EXE file {$(RCObject_files)}
 @xcopy rc.exe ..\resource\



################
## DEPENDANCY ##
################

#cdep   : h\defines.h h\_system.h h\svga.h

#cppdep : h\tb.h

#tb.h  : h\defines.h h\_system.h h\svga.h \
#	h\objenums.h h\system h\profiler h\coords


#############
## COMPILE ##
#############

#----------------------------------------------------------------------------
# STARTUP
#----------------------------------------------------------------------------

cstart3r.obj:	startup\cstart3r.asm
	386asm -LNUM -CVSYM startup\cstart3r -OBJECT cstart3r.obj -NOLIST

cstart4r.obj:	startup\cstart4r.asm
	386asm -LNUM -CVSYM startup\cstart3r -OBJECT cstart4r.obj -NOLIST

cstart3s.obj:	startup\cstart3s.asm
	386asm -LNUM -CVSYM startup\cstart3s -OBJECT cstart3s.obj -NOLIST

cmain386.obj:	startup\cmain386.c
        wcc386 $(C_Options) startup\cmain386.c

main.obj:	startup\main.cpp
        wpp386 $(CPP_Options) startup\main.cpp

#----------------------------------------------------------------------------
# SYSTEM
#----------------------------------------------------------------------------

getlomem.obj:	system\getlomem.asm
        tasm $(Asm_Options) system\getlomem.asm

meminfo.obj:	system\meminfo.c
        wcc386 $(C_Options) system\meminfo.c

rint.obj:	system\rint.asm
        tasm $(Asm_Options) system\rint.asm

_mouse.obj:	system\_mouse.asm
        tasm $(Asm_Options) system\_mouse.asm

mouse.obj:		system\mouse.cpp h\tb.h
        wpp386 $(CPP_Options) system\mouse.cpp

error.obj:	system\error.c
        wcc386 $(C_Options) system\error.c

dos_seek.obj:	system\dos_seek.asm
        tasm $(Asm_Options) system\dos_seek.asm

_timer.obj:	system\_timer.asm
        tasm $(Asm_Options) system\_timer.asm

timer.obj:	system\timer.cpp
        wpp386 $(CPP_Options) system\timer.cpp

_keybrd.obj:	system\_keybrd.asm
        tasm $(Asm_Options) system\_keybrd.asm

keyboard.obj:	system\keyboard.c
        wcc386 $(C_Options) system\keyboard.c

zfortify.obj:	system\zfortify.cpp
        wpp386 $(CPP_Options) system\zfortify.cpp


#----------------------------------------------------------------------------
# DEBUG
#----------------------------------------------------------------------------

profiler.obj:		debug\profiler.cpp
        wpp386 $(CPP_Options) debug\profiler.cpp

#----------------------------------------------------------------------------
# SVGA
#----------------------------------------------------------------------------

font8x16.obj:	svga\font8x16.asm
        tasm $(Asm_Options) svga\font8x16.asm

bounds.obj:	svga\bounds.asm
        tasm $(Asm_Options) svga\bounds.asm

putshp.obj:	svga\putshp.asm
        tasm $(Asm_Options) svga\putshp.asm

_svga.obj:	svga\_svga.asm
        tasm $(Asm_Options) svga\_svga.asm

rectfill.obj:	svga\rectfill.asm
        tasm $(Asm_Options) svga\rectfill.asm

_pal.obj:	svga\_pal.asm
        tasm $(Asm_Options) svga\_pal.asm

svga.obj:	svga\svga.c
        wcc386 $(C_Options) svga\svga.c

#----------------------------------------------------------------------------
# RESOURCE
#----------------------------------------------------------------------------

resource.obj:	resource\resource.cpp
        wpp386 $(CPP_Options) resource\resource.cpp

createrf.obj:	resource\createrf.cpp
        wpp386 $(CPP_Options) resource\createrf.cpp

rc.obj:		resource\rc.cpp h\tb.h
        wpp386 $(CPP_Options) resource\rc.cpp

#----------------------------------------------------------------------------
# DIALOG
#----------------------------------------------------------------------------

event.obj:		dialog\event.cpp
        wpp386 $(CPP_Options) dialog\event.cpp

window.obj:		dialog\window.cpp
        wpp386 $(CPP_Options) dialog\window.cpp

statline.obj:		dialog\statline.cpp
        wpp386 $(CPP_Options) dialog\statline.cpp

shapewin.obj:		dialog\shapewin.cpp
        wpp386 $(CPP_Options) dialog\shapewin.cpp

infowin.obj:		dialog\infowin.cpp
        wpp386 $(CPP_Options) dialog\infowin.cpp


#----------------------------------------------------------------------------
# WORLD
#----------------------------------------------------------------------------

worldmap.obj:		world\worldmap.cpp
        wpp386 $(CPP_Options) world\worldmap.cpp

boundstk.obj:		world\boundstk.cpp
        wpp386 $(CPP_Options) world\boundstk.cpp

wrldfile.obj:		world\wrldfile.cpp
        wpp386 $(CPP_Options) world\wrldfile.cpp

object.obj:		world\object.cpp
        wpp386 $(CPP_Options) world\object.cpp

xydirvct.obj:		world\xydirvct.asm
        tasm $(Asm_Options) world\xydirvct.asm

player.obj:		world\player.cpp
        wpp386 $(CPP_Options) world\player.cpp

