# Makefile for USM play (KERNEL 386 version)
# Use Borland MAKE.EXE
#
# (c) 1996 FreddyV/Useless

# KERNEL sys Directory
KERNEL = D:\EXTENDER\KERNEL\SYS

# USM play source directory
SRC    = ..\SRC

# USM play include files directory
INC    = ..\SRC

# Assembler parameters
# --------------------
# /m2         2 passes
# /t          Supress messages if successfull assembly
# /dUseKERNEL Use KERNEL 386 dos extender

ASMPARAM = /m2 /t /I$(INC) /I$(KERNEL) /dUseKERNEL

# Linker parameters

LINKPARAM = 

ASM      = TASM $(ASMPARAM)
LINK     = TLINK $(LINKPARAM)

OBJLIST     = play.obj krnl386.obj \
              error.obj usmplay.obj uss.obj ussvar.obj \
              iwdrv.obj gusdrv.obj sbdrv.obj nosnddrv.obj mix.obj \
              xmload.obj loadutil.obj \
              files.obj memory.obj timer.obj hardware.obj utils.obj 

#
#                       ** Files link **
#

play.exe     : $(OBJLIST)
		$(LINK) $(EOS)/eoslite @KERNEL.LNK

play.obj     : play.asm 
	       $(ASM) play.asm

#              
#                        ** KERNEL 386 **
#

krnl386.obj : $(KERNEL)\krnl386.asm
		$(ASM) $(KERNEL)\krnl386.asm /dxTiny /dNoDebug
#		$(ASM) $(KERNEL)\krnl386.asm

#
#                       ** USM Player **
#

usmplay.obj : $(SRC)\usmplay.asm $(SRC)\utils.inc $(SRC)\usm.inc \
	      setup.inc
		$(ASM) $(SRC)\usmplay.asm

#
#                    ** Useless sound system **
#
			    
uss.obj     : $(SRC)\uss.asm $(SRC)\uss.inc $(SRC)\utils.inc $(SRC)\ussvar.inc \
	      setup.inc
		$(ASM) $(SRC)\uss.asm
	      
ussvar.obj  : $(SRC)\ussvar.asm $(SRC)\utils.inc setup.inc
		$(ASM) $(SRC)\ussvar.asm

#
#                       ** Error handler ** (Display_Error_ function)
#

error.obj : $(SRC)\error.asm
		$(ASM) $(SRC)\error.asm

#
#                       ** Sound drivers **
#

iwdrv.obj  : $(SRC)\iwdrv.asm  $(SRC)\gusdrv.inc $(SRC)\utils.inc
		$(ASM) $(SRC)\iwdrv.asm
	      
gusdrv.obj  : $(SRC)\gusdrv.asm  $(SRC)\gusdrv.inc $(SRC)\utils.inc
		$(ASM) $(SRC)\gusdrv.asm

sbdrv.obj  : $(SRC)\sbdrv.asm $(SRC)\utils.inc
		$(ASM) $(SRC)\sbdrv.asm

nosnddrv.obj : $(SRC)\nosnddrv.asm $(SRC)\utils.inc
		$(ASM) $(SRC)\nosnddrv.asm

mix.obj      : $(SRC)\mix.asm $(SRC)\utils.inc $(SRC)\mix.inc setup.inc
		$(ASM) $(SRC)\mix.asm


#
#                       ** Files loaders **
#

usmload.obj  : $(SRC)\usmload.asm   $(SRC)\usmload.inc $(SRC)\utils.inc \
	       $(SRC)\loadutil.inc $(SRC)\ussvar.inc
		$(ASM) $(SRC)\usmload.asm

xmload.obj   : $(SRC)\xmload.asm   $(SRC)\xmload.inc $(SRC)\utils.inc \
	       $(SRC)\loadutil.inc $(SRC)\ussvar.inc
		$(ASM) $(SRC)\xmload.asm
	      
modload.obj  : $(SRC)\modload.asm  $(SRC)\modload.inc $(SRC)\utils.inc \
	       $(SRC)\loadutil.inc $(SRC)\ussvar.inc
		$(ASM) $(SRC)\modload.asm
	      
stmload.obj  : $(SRC)\stmload.asm  $(SRC)\stmload.inc $(SRC)\utils.inc \
	       $(SRC)\loadutil.inc $(SRC)\ussvar.inc
		$(ASM) $(SRC)\stmload.asm

itload.obj   : $(SRC)\itload.asm  $(SRC)\itload.inc $(SRC)\utils.inc \
	       $(SRC)\loadutil.inc $(SRC)\ussvar.inc
		$(ASM) $(SRC)\itload.asm

loadutil.obj: $(SRC)\loadutil.asm $(SRC)\loadutil.inc $(SRC)\utils.inc
		$(ASM) $(SRC)\loadutil.asm


#
#                       ** Misc files **
#

files.obj   : $(SRC)\files.asm $(SRC)\files.inc $(SRC)\utils.inc
		$(ASM) $(SRC)\files.asm

memory.obj  : $(SRC)\memory.asm $(SRC)\memory.inc $(SRC)\utils.inc setup.inc
		$(ASM) $(SRC)\memory.asm

timer.obj   : $(SRC)\timer.asm $(SRC)\timer.inc $(SRC)\utils.inc setup.inc
		$(ASM) $(SRC)\timer.asm

hardware.obj   : $(SRC)\hardware.asm $(SRC)\hardware.inc $(SRC)\utils.inc
		$(ASM) $(SRC)\hardware.asm

utils.obj   : $(SRC)\utils.asm $(SRC)\utils.inc
		$(ASM) $(SRC)\utils.asm
