#================================
#Makefile for TEDzakker by Hermit
#================================
VERSION=1.2
EMULATOR=0
MIDI=1
#AFLAGS=-C -a -Wno-deprecated -DEMULATOR=$(EMULATOR)
EMUDIR=..
EMURESDIR=../resources


.PHONY: all C16 Plus4 C64 disk clean
.DEFAULT: all

ifeq ($(EMULATOR),0)
all: Plus4 C64 C16 disk
else
all: Plus4
endif
	chmod 755 *

C16: MACHINE=0
#C16: MACHNAME=-C16
C16: EXOFLAG=-t 4
C16: tedzakker-C16-normal.prg tedzakker-C16-medium.prg tedzakker-C16-light.prg tedzakker-C16-extra.prg tedzakker-C16-bare.prg tedzakker-C16-demo.prg

Plus4: MACHINE=1
#Plus4: MACHNAME=
Plus4: EXOFLAG=-t 4 
Plus4: tedzakker-normal.prg tedzakker-horiz.prg tedzakker-medium.prg tedzakker-light.prg tedzakker-extra.prg tedzakker-bare.prg tedzakker-demo.prg

C64: MACHINE=2
#C64: MACHNAME=-C64
C64: EXOFLAG=
C64: tedzakker-C64-normal.prg tedzakker-C64-medium.prg tedzakker-C64-light.prg tedzakker-C64-extra.prg tedzakker-C64-bare.prg tedzakker-C64-demo.prg


tedzakker%normal.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=0 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif


tedzakker%horiz.prg:
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=0 -D HORIZONTAL_ORDERLIST=1 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif

tedzakker%medium.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=1 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif

tedzakker%light.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=2 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif

tedzakker%extra.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=3 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif

tedzakker%bare.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=4 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif

tedzakker%demo.prg: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=5 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o $@ $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/$@
endif


disk:
	c1541 -format "tedzakker disk,tz" d64 tedzakker-$(VERSION).d64
	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-normal.prg tedzakker-normal
	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-medium.prg tedzakker-medium
	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-light.prg tedzakker-light
	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-demo.prg tedzakker-demo
#	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-C64-normal.prg tedzakker-c64-no
	c1541 -attach tedzakker-$(VERSION).d64 -write tedzakker-C16-demo.prg tedzakker-c16-de
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCCCexamplesCCCC
	for inputfile in *.tzw ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCCdemoplayerCCC
	for inputfile in demoplayer-examples/*.tzw ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCmediumplayerCC
	for inputfile in mediumplayer-examples/*.tzw ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCnormalplayerCC
	for inputfile in normalplayer-examples/*.tzw ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCCCrunnableCCCC
	for inputfile in *.ted ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	for inputfile in demoplayer-examples/*.ted ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	for inputfile in mediumplayer-examples/*.ted ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	for inputfile in normalplayer-examples/*.ted ; do outputfile=$${inputfile##*/} ; \
         c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	#c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCCinstrumentCCC
	#for inputfile in instruments/*.tzi ; do outputfile=$${inputfile##*/} ; \
    #     c1541 -attach tedzakker-$(VERSION).d64 -write $$inputfile $${outputfile}  > /dev/null ; done;
	c1541 -attach tedzakker-$(VERSION).d64 -write dummyfile CCCCCCCCCCCCCCCC


test: MACHINE=1
#test: MACHNAME=
test: EXOFLAG=-t 4
test: tedzakker.asm
	-64tass tedzakker.asm -o tedzakker.prg -L tedzakker.lst -D MACHINE=$(MACHINE) -DVERSION=\"$(VERSION)\" -D PLAYERTYPE=0 -D HORIZONTAL_ORDERLIST=0 -D EMULATOR=$(EMULATOR) -D MIDI=$(MIDI)
ifeq ($(EMULATOR),0)
	-exomizer sfx sys tedzakker.prg -o tedzakker-normal.prg $(EXOFLAG)
	-rm -rf tedzakker.prg
else
	mv tedzakker.prg $(EMURESDIR)/tedzakker-normal.prg
endif


clean:
	-rm -rf tedzakker*.prg *.d64 tedzakker.lst
