BINNAME=Sicktro
AUTHOR=DSS
DISTNAME=${BINNAME}_by_${AUTHOR}
DISTFILES=file_id.diz screenshot.png
SRCFILES=Makefile main.asm utils.asm singen.c filter.py intro.asm sleep.h song.asm songplay.h fontgen.c font.bmp text plaque.asm plasmabar.asm timeline.asm gradients.asm face.bin
ODIR=build
BINARY=Sicktro_by_DSS.bin

all: $(ODIR)/main.asm $(ODIR)/sintab.asm build/font.asm | $(ODIR)
	dasm $(ODIR)/main.asm -f3 -DPAL=1 -DFPS=50 -o$(ODIR)/$(BINARY) -s$(ODIR)/$(BINARY:.bin=.sym)

$(ODIR)/font.asm: $(ODIR)/fontgen font.bmp text
	$(ODIR)/fontgen font.bmp < text > $(ODIR)/font.asm

$(ODIR)/fontgen: fontgen.c | $(ODIR)
	gcc fontgen.c -o $(ODIR)/fontgen

$(ODIR):
	mkdir -p $(ODIR)

$(ODIR)/sintab.asm: $(ODIR)/singen
	$(ODIR)/singen > $(ODIR)/sintab.asm

$(ODIR)/singen: singen.c | $(ODIR)
	gcc singen.c -o build/singen -lm

$(ODIR)/main.asm: filter.py main.asm | $(ODIR)
	./filter.py < main.asm > $(ODIR)/main.asm

clean:
	rm -rf $(ODIR) ${DISTNAME} ${DISTNAME}.zip

run: all
	stella -grabmouse 0 $(ODIR)/${BINARY}

dist: all
	rm -rf ${DISTNAME} ${DISTNAME}.zip
	mkdir -p ${DISTNAME}
	mkdir -p ${DISTNAME}/src
	if [ -n "${DISTFILES}" ] ; then cp ${DISTFILES} ${DISTNAME} ; fi
	cp ${SRCFILES} ${DISTNAME}/src
	cp $(ODIR)/$(BINARY) ${DISTNAME}/

	zip -r ${DISTNAME}.zip ${DISTNAME}

	cp vcs.h macro.h ${DISTNAME}/src
	cd ${DISTNAME}/src && make

download: all
	stty -F /dev/ttyUSB0 115200
	harmonycart $(ODIR)/${BINARY}

playmic:
	pacat -r --latency-msec=1 -d alsa_input.pci-0000_00_1b.0.analog-stereo | pacat -p --latency-msec=1 -d alsa_output.pci-0000_00_1b.0.analog-stereo
