
###############################################################################
#
#	makefile for lowlevel UltraSound libraries & example code
#
###############################################################################
#
#	This makefile will build the objects in a subdir called watcom.
#	The library is built in the current directory from those objs.
#	Make sure that subdir exists before making the library.
#
###############################################################################

INCS=c:\watcom\h
#DEBUG = /d2

###############################################################################
#            Transformation rules
# Compile all .c files with the Watcom C9.0/386 compiler
# Flat model .............
###############################################################################
.path.obj = .\watcom

.c.obj:
	wcc386 $(DEBUG) /s /3r /oailsx /e10 /fo=watcom\$&.obj /mf /i=$(INCS) $&.c

.autodepend

# Use this line if you have the 3D sources ...
#all: exam_wc.exe ult3d_wc.lib
all: exam_wc.exe

###############################################################################
#
# LEVEL 0 Stuff
#
###############################################################################
SRCS0a=	vars.c open.c irq.c handle.c joy.c
SRCS0b= rock.c reset.c dmadram.c dma.c
SRCS0c= vocread.c vocstop.c vocfreq.c vocset.c
SRCS0d= vocstart.c vocend.c vocloop.c vocstopd.c
SRCS0e= balance.c sample.c timer.c midi.c
SRCS0f= volset.c volstop.c vol0ramp.c volrate.c volstopd.c volread.c
SRCS0g= config.c init.c size.c util0.c
SRCS0h= memalloc.c memfree.c meminit.c peekpoke.c

FILE01=	vars.obj open.obj irq.obj
FILE02= handle.obj joy.obj rock.obj
FILE03=	reset.obj dmadram.obj dma.obj
FILE04= vocread.obj vocstop.obj vocfreq.obj
FILE05= vocset.obj vocstart.obj vocend.obj
FILE06= vocloop.obj vocstopd.obj balance.obj
FILE07= sample.obj timer.obj midi.obj
FILE08= volset.obj volstop.obj vol0ramp.obj
FILE09= volrate.obj volstopd.obj volread.obj
FILE10=	init.obj size.obj util0.obj
FILE11=	memalloc.obj memfree.obj meminit.obj

###############################################################################
#
# LEVEL 1 Stuff
#
###############################################################################
SRCS1= voice1.c vol1.c vocaloc.c

FILE1a= voice1.obj vol1.obj vocaloc.obj

###############################################################################
#
# 3D stuff
#
###############################################################################
SRCS3D1= posabs.c posang.c posangf.c freq3d.c
SRCS3D2= start3d.c stop3d.c load3ds.c setup3d.c

FILE3D1= posabs.obj posang.obj posangf.obj freq3d.obj
FILE3D2= start3d.obj stop3d.obj load3ds.obj setup3d.obj

###############################################################################
# ANY MODEL .............
###############################################################################
exam_wc.exe: watcom\example.obj watcom\config.obj ultra0wc.lib ultra1wc.lib
	wlink @watcom

watcom\example.obj: example.c
 wcc386 $(DEBUG) /oailsx /e10 /fo=watcom\$&.obj /mf /i=$(INCS) example.c

watcom\config.obj: config.c
 wcc386 $(DEBUG) /oailsx /e10 /fo=watcom\$&.obj /mf /i=$(INCS) config.c

ultra0wc.lib: $(FILE01) $(FILE02) $(FILE03) $(FILE04) $(FILE05) $(FILE06) $(FILE07) $(FILE08) $(FILE09) $(FILE10) $(FILE11) peekpoke.obj $(LIBOBJ)
	cd watcom
	wlib ..\ultra0wc.lib @..\ultra0.dat
	wlib ..\ultra0wc.lib -+peekpoke.obj
	cd ..

ultra1wc.lib: $(FILE1a)
	cd watcom
	wlib ..\ultra1wc.lib @..\ultra1.dat
	cd ..

ult3d_wc.lib: $(FILE3D1) $(FILE3D2)
	cd watcom
	wlib ..\ult3d_wc.lib @..\threed.dat
	cd ..

