# makefile for scrolly stack
#
# This needs zmac, available from:
# - http://www.nenie.org/cpcip/index.html#zmac
# - ftp://ftp.ibiblio.org/pub/Linux/devel/lang/assemblers/

# This is what I use on my Debian 3.0 box, change it if necessary.
CXX=g++-3.0
CXXFLAGS=-O2

all: scrolly.tap

scrolly.tap: basic.bin maketap
	./maketap <basic.bin >scrolly.tap
	ls -l scrolly.tap

main.bin: main.z sound.z music.z tune.dat fanfares.dat sidebmp.dat maketap
	zmac main.z

basic.bin: basic.z compress.dat
	zmac basic.z

compress.dat: main.bin pmccompr pmcdecom.z
	pmccompr main.bin compress.dat

tune.dat: tune.csf tuneconv
	./tuneconv <tune.csf 2>tmpfreq.dat >tune.dat
	echo 'freqtable:' >>tune.dat
	sed 's/^/defw /' <tmpfreq.dat >>tune.dat

tuneconv: tuneconv.c
	$(CC) -o tuneconv tuneconv.c -lm

fanfares.dat: fanfares.csf tuneconv-ff
	./tuneconv-ff <fanfares.csf >fanfares.dat

tuneconv-ff: tuneconv-ff.c
	$(CC) -o tuneconv-ff tuneconv-ff.c -lm

sidebmp.dat: sidebmp.pbm bmpconv
	./bmpconv <sidebmp.pbm >sidebmp.dat

# assumes this source is in an `src' subdir
install: scrolly.tap
	cp scrolly.tap ..

clean:
	$(RM) *~ *.bin *.lst maketap tune.dat fanfares.dat
	$(RM) tmpfreq.dat tuneconv tuneconv-ff sidebmp.dat bmpconv
	$(RM) pmccompr compress.dat

distclean: clean
	$(RM) scrolly.tap

tgz: ../scrolly-src.tar.gz

../scrolly-src.tar.gz: distclean
	cd ..;tar zcvf scrolly-src.tar.gz src
