# makefile for zblast sd
#
# 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: zblastsd.tap

zblastsd.tap: basic.bin maketap
	./maketap <basic.bin >zblastsd.tap

main.bin: main.z levels.z sprites.dat sound.z music.z tune.dat
	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: macrospec.csf lilting.csf tuneconv
	$(RM) tmpfreq.dat
	./tuneconv <macrospec.csf 2>tmpfreq.dat |sed '/:/s/^/mac_/' >tune.dat
	./tuneconv <lilting.csf 2>freq.dat |sed '/:/s/^/lil_/' >>tune.dat
	echo 'freqtable:' >>tune.dat
	sed 's/^/defw /' <freq.dat >>tune.dat

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

sprites.dat: zbspr.tzx sprtodat
	./sprtodat <zbspr.tzx >sprites.dat

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

clean:
	$(RM) *~ *.bin *.lst maketap sprtodat sprites.dat
	$(RM) tune.dat tuneconv tmpfreq.dat freq.dat
	$(RM) pmccompr compress.dat

distclean: clean
	$(RM) zblastsd.tap

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

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