# This Makefile is for unix/linux.  No doubt someone can be persuaded to write one for DOS/Win and/or Mac.
SRCH=as9.h as.h do9.h eval.h ffwd.h output.h pseudo.h symtab.h util.h table9.h
SRCC=as9.c as.c do9.c eval.c ffwd.c output.c pseudo.c symtab.c util.c table9.c

all: vpatch crc32 hexdump
	echo All up to date.

# just remove the gzexe call below if you can't install it
vpatch: $(SRCC) $(SRCH) Makefile
	cc -Wall -DVPATCH -O -o vpatch as9.c
	# gzexe vpatch
	cc -Wall -g -DVPATCH -o vpatch-d as9.c

test: vpatch hexdump
	./vpatch -q CosmicChasm.vec CCSpin.patch
	./vpatch -q CosmicChasm.vec CCLives.patch
	./vpatch -q CosmicChasm.vec CCSpin.patch CCLives.patch
	./vpatch -q CosmicChasm.vec CCLives.patch CCSpin.patch
	@echo Changes from Spinner patch:
	@./bincmp CosmicChasm.vec CosmicChasm-Spin.vec
	@echo Changes from InfiniteLives patch:
	@./bincmp CosmicChasm.vec CosmicChasm-Lives.vec
	@echo Order of patching should make no difference:
	@./bincmp CosmicChasm-Lives-Spin.vec CosmicChasm-Spin-Lives.vec

# used by bincmp script.  You'll also need to install 'sdiff'
hexdump: hexdump.c
	cc -o hexdump hexdump.c

# Just in case you don't have a proper crc32 utility, here's a quick one I hacked up that'll do the job.
crc32:
	cc -o crc32 crc32.c

clean:
	rm -f *~ vpatch vpatch-d hexdump crc32 *.???.tmp CosmicChasm-*.vec Fwd_refs

vpatch-static:
	cc -Wall -DVPATCH -O -static -static-libgcc -o vpatch-static-`arch`  as9.c
