###############################################################################
#
# makefile for lowlevel UltraSound libraries & example code
#
###############################################################################
#
# This makefile will build the objects in sub-directories.
# The libraries are built in the current directory from those objs.
# Make sure these subdirs exist before making the particular model.
#
# largem - Microsoft large model
# mediumm - Microsoft medium model
# smallm - Microsoft small model
# tinym - Microsoft tiny model
#
###############################################################################
INCS=c:\c600\include -I..\incs
#DEBUG = /CO
COMPILER = m
!if $(SIZE) == 0
TYPE=large$(COMPILER)
MODEL=L
LIBMODEL=l
!elif $(SIZE) == 1
TYPE=medium$(COMPILER)
MODEL=M
LIBMODEL=m
!elif $(SIZE) == 2
TYPE=small$(COMPILER)
MODEL=S
LIBMODEL=s
!elif $(SIZE) == 3
TYPE=tiny$(COMPILER)
MODEL=T
LIBMODEL=s
!endif
###############################################################################
# Transformation rules
# Compile all .c files with the Microsoft C compiler
# SOME MODEL .............
###############################################################################
.path.obj = .\$(TYPE)
.c.obj:
cl -Ox -Oi -Fa -Gs -FPi -A$(MODEL) -I$(INCS) /c /Fo$(TYPE)\$&.obj $&.c
@del $&.asm
.asm.obj:
masm /MX /DMSIZE$(SIZE) $*.asm,$(TYPE)\$*.obj;
.autodepend
all: ultra0$(MODEL)$(COMPILER).lib\
ultra1$(MODEL)$(COMPILER).lib
###############################################################################
#
# LEVEL 0 Stuff
#
###############################################################################
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 peekpoke.obj
FILE11= memalloc.obj memfree.obj meminit.obj icsmix.obj
###############################################################################
#
# LEVEL 1 Stuff
#
###############################################################################
FILE1a= voice1.obj vol1.obj vocaloc.obj
###############################################################################
# ANY MODEL .............
###############################################################################
ultra0$(MODEL)$(COMPILER).lib: $(FILE01) $(FILE02) $(FILE03) $(FILE04) $(FILE05) $(FILE06) $(FILE07) $(FILE08) $(FILE09) $(FILE10) $(FILE11) $(LIBOBJ)
cd $(TYPE)
c:\c600\binb\lib ..\ultra0$(MODEL)$(COMPILER).lib @..\ultra0.dat
c:\c600\binb\lib ..\ultra0$(MODEL)$(COMPILER).lib -+peekpoke.obj,,;
cd ..
ultra1$(MODEL)$(COMPILER).lib: $(FILE1a)
cd $(TYPE)
c:\c600\binb\lib ..\ultra1$(MODEL)$(COMPILER).lib @..\ultra1.dat
cd ..
lint:
del lint.tmp
C:\LINT\LINT -e785 +v -iC:\LINT STD.LNT lint.lnt -od(proto.xxx) >lint.tmp
clean:
del ultra0$(MODEL)$(COMPILER).lib
del ultra1$(MODEL)$(COMPILER).lib
cd $(TYPE)
del *.obj
cd ..