BINNAME=Sound_Coder
AUTHOR=DSS
DISTNAME=${BINNAME}_by_${AUTHOR}
DISTFILES=README beamer
SRCFILES=Makefile main.asm utils.asm audioquant.cpp input.wav bmpconv.c text.bmp

all: build/audioquant.asm build/bmp.asm
	mkdir -p build
	dasm main.asm -f3 -DPAL=0 -DFPS=60 -obuild/ntsc.bin
	dasm main.asm -f3 -DPAL=1 -DFPS=50 -obuild/pal.bin
	dasm main.asm -f3 -DPAL=1 -DFPS=60 -obuild/pal60.bin

build/audioquant.asm: audioquant.cpp input.wav
	mkdir -p build
	g++ audioquant.cpp -o build/audioquant -lm
	build/audioquant input.wav > build/audioquant.asm

build/bmpconv: bmpconv.c
	mkdir -p build
	gcc bmpconv.c -o build/bmpconv

build/bmp.asm: build/bmpconv text.bmp
	build/bmpconv text.bmp > build/bmp.asm

clean:
	rm -rf build ${DISTNAME} ${DISTNAME}.zip

run: all
	stella -grabmouse 0 build/pal.bin

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 build/ntsc.bin ${DISTNAME}/${BINNAME}\ \(NTSC\).bin
	cp build/pal.bin ${DISTNAME}/${BINNAME}.bin

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

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

download: all
	stty -F /dev/ttyUSB0 115200
	harmonycart -bs=F4 build/pal.bin
