# Makefile for cmt stuff
# Last modified date: 20-Jul-86

#CURRENT is the exe file we want to make now.
#CURRENT = adagio.exe
#EVERYTHING is everything this makefile knows how to make
#E1 = adagio.exe mm.exe moxc.obj dxget.exe dxput.exe
#E2 = record.exe transcri.exe tuning.exe
#EVERYTHING = $(E1) $(E2)

#INIT = rem Current default file to make is $(CURRENT)
#DEINIT = echo Finished OK.`n:errdone`necho Done
# #DEINIT = echo Finished OK.`n:errdone`necho Done
# #BEFORE = echo before
#AFTER  = if errorlevel 1 goto errdone

mscARGS = -AS -I\bin\micro
masmARGS = /ML
CLIB = # slibc.lib
MLIB = 
COBJ =
CMTLIB = cmt.lib
LIBS = $(CLIB) $(CMTLIB) $(MLIB)

MUOBJ1 = aintr.obj atxt.obj break.obj cintr.obj cmdline.obj
MUOBJ2 = moxcasci.obj moxcbend.obj moxcctrl.obj moxckydn.obj moxckyup.obj
MUOBJ3 = moxcpddn.obj moxcpdup.obj moxcprgm.obj moxctouc.obj 
MUOBJ4 = mpu.obj userio.obj timdif.obj
MUOBJ = $(MUOBJ1) $(MUOBJ2) $(MUOBJ3) $(MUOBJ4)

ADH = adagio.h phase1.h phase2.h atxt.h userio.h cmdline.h
ADOBJ = adagio.obj phase1.obj phase2.obj adaspace.obj noteoff.obj

DXGOBJ = dxget.obj excldesc.obj

DXPOBJ = dxput.obj excldesc.obj

MMOBJ = mm.obj

RECOBJ = recmain.obj recspace.obj phase1.obj trans2.obj noteoff.obj record.obj

TRH = mpu.h cmdline.h userio.h record.h
TROBJ = transcri.obj traspace.obj record.obj

#current : $(CURRENT)
#	echo making $(CURRENT)

#everything : $(EVERYTHING)
#	echo making $(EVERYTHING)

adagio.obj : $(ADH) adagio.c
	msc $(mscARGS) adagio,,,;

adaspace.obj : adaspace.c
	msc $(mscARGS) adaspace,,,;

aintr.obj : aintr.asm
	masm aintr $(masmARGS),,;

atxt.obj : atxt.asm
	masm atxt $(masmARGS),,;

break.obj : break.asm
	masm break $(masmARGS),,;

pekpok.obj : pekpok.asm
	masm pekpok $(masmARGS),,;

cintr.obj : cmdline.h cintr.c
	msc $(mscARGS) cintr,,,;

cmdline.obj : cmdline.c
	msc $(mscARGS) cmdline,,,;

dxget.obj :  dxget.c
	msc $(mscARGS) dxget,,,;

dxput.obj :  dxput.c
	msc $(mscARGS) dxput,,,;

excldesc.obj : excldesc.c midicode.h
	msc $(mscARGS) excldesc,,,;

mm.obj :  midicode.h mpu.h mm.c 
	msc $(mscARGS) mm,,,;

moxc.obj :  mpu.h cmdline.h midicode.h moxc.c
	msc $(mscARGS) moxc,,,;

moxcasci.obj : moxcasci.c
	msc $(mscARGS) moxcasci,,,;

moxcbend.obj : moxcbend.c
	msc $(mscARGS) moxcbend,,,;

moxcctrl.obj : moxcctrl.c
	msc $(mscARGS) moxcctrl,,,;

moxckydn.obj : moxckydn.c
	msc $(mscARGS) moxckydn,,,;

moxckyup.obj : moxckyup.c
	msc $(mscARGS) moxckyup,,,;

moxcpddn.obj : moxcpddn.c
	msc $(mscARGS) moxcpddn,,,;

moxcpdup.obj : moxcpdup.c
	msc $(mscARGS) moxcpdup,,,;

moxcprgm.obj : moxcprgm.c
	msc $(mscARGS) moxcprgm,,,;

moxctouc.obj : moxctouc.c
	msc $(mscARGS) moxctouc,,,;

mpu.obj : mpu.c mpu.h atxt.h midicode.h cmdline.h userio.h pitch.h
	msc $(mscARGS) mpu,,,;

noteoff.obj : adagio.h noteoff.c
	msc $(mscARGS) noteoff,,,;

phase1.obj : adagio.h cmdline.h phase1.c
	msc $(mscARGS) phase1,,,;

phase2.obj :  adagio.h mpu.h userio.h phase2.c
	msc $(mscARGS) phase2,,,;

recmain.obj : adagio.h phase1.h phase2.h atxt.h userio.h cmdline.h recmain.c
	msc $(mscARGS) recmain,,,;

record.obj :  mpu.h userio.h midicode.h record.c
	msc $(mscARGS) record,,,;

recspace.obj : recspace.c
	msc $(mscARGS) recspace,,,;

timdif.obj : timdif.asm timdif.h macsym.lib prcsym.lib
	masm timdif $(masmARGS),,;

trans2.obj :  adagio.h mpu.h record.h userio.h trans2.c
	msc $(mscARGS) trans2,,,;

transcri.obj : $(TRH) transcri.c
	msc $(mscARGS) transcri,,,;

traspace.obj : traspace.c
	msc $(mscARGS) traspace,,,;

tuning.obj : tuning.c pitch.h
	msc $(mscARGS) tuning,,,;

userio.obj : userio.c userio.h
	msc $(mscARGS) userio,,,;

cmt.lib : $(MUOBJ) cmt.lnk
	lib @cmt.lnk

adagio.exe : $(ADOBJ) $(CMTLIB)
	link $(COBJ) $(ADOBJ),adagio,,$(LIBS)

dxget.exe : $(DXGOBJ) $(CMTLIB)
	link $(COBJ) $(DXGOBJ),dxget,,$(LIBS)

dxput.exe : $(DXPOBJ) $(CMTLIB)
	link $(COBJ) $(DXPOBJ),dxput,,$(LIBS)

mm.exe : $(MMOBJ) $(CMTLIB)
	link $(COBJ) $(MMOBJ),mm,,$(LIBS)

record.exe : $(RECOBJ) $(CMTLIB)
	link $(COBJ) $(RECOBJ),record,,$(LIBS)

transcri.exe : $(TROBJ) $(CMTLIB)
	link $(COBJ) $(TROBJ),transcri,,$(LIBS)

tuning.exe : tuning.obj $(CMTLIB)
	link $(COBJ) tuning,tuning,,$(LIBS)

clean :
	del *.map
	del *.lst
	del *.cod

# clean out all but moxc.obj (needed for cmtl.bat)
cleanob : 
	del adagio.obj
	del adaspace.obj
	del aintr.obj
	del atxt.obj
	del break.obj
	del pekpok.obj
	del cintr.obj
	del cmdline.obj
	del dxget.obj
	del dxput.obj
	del excldesc.obj
	del mm.obj
	del moxcasci.obj
	del moxcbend.obj
	del moxcctrl.obj
	del moxckydn.obj
	del moxckyup.obj
	del moxcpddn.obj
	del moxcpdup.obj
	del moxcprgm.obj
	del moxctouch.obj
	del mpu.obj
	del noteoff.obj
	del phase1.obj
	del phase2.obj
	del recmain.obj
	del record.obj
	del recspace.obj
	del timdif.obj
	del trans2.obj
	del transcri.obj
	del traspace.obj
	del tuning.obj
	del userio.obj
