# Scoundrel65 reference implementation makefile

PROJNAME=scoundrel
CFILES=scoundrel.c
PBTDIR=platform-build-tools
CCBUILD=cl65 --standard c89 -O -Os

$(PROJNAME):
	$(CC) -std=c89 -O2 -o scoundrel $(CFILES)

a2-build:
	$(CCBUILD) -t apple2 -C apple2-system.cfg -o $(PROJNAME).apple2 $(CFILES)

a2: a2-build
	cp $(PBTDIR)/apple2/tpl.dsk $(PROJNAME).dsk
	java -jar $(PBTDIR)/apple2/ac.jar -p $(PROJNAME).dsk $(PROJNAME).system sys < $$(cl65 --print-target-path)/apple2/util/loader.system
	java -jar $(PBTDIR)/apple2/ac.jar -as $(PROJNAME).dsk $(PROJNAME) bin < $(PROJNAME).apple2

a2e-build:
	$(CCBUILD) -t apple2enh -C apple2enh-system.cfg -o $(PROJNAME).a2enh $(CFILES)

a2e: a2e-build
	cp $(PBTDIR)/apple2/tpl.dsk $(PROJNAME)-enh.dsk
	java -jar $(PBTDIR)/apple2/ac.jar -p $(PROJNAME)-enh.dsk $(PROJNAME).system sys < $$(cl65 --print-target-path)/apple2enh/util/loader.system
	java -jar $(PBTDIR)/apple2/ac.jar -as $(PROJNAME)-enh.dsk $(PROJNAME) bin < $(PROJNAME).a2enh

c64:
	$(CCBUILD) -t c64 -o $(PROJNAME).c64 $(CFILES)

c16:
	$(CCBUILD) -t c16 -o $(PROJNAME).c16 $(CFILES)

c128:
	$(CCBUILD) -t c128 -o $(PROJNAME).c128 $(CFILES)

pet:
	$(CCBUILD) -t pet -o $(PROJNAME).pet $(CFILES)

plus4:
	$(CCBUILD) -t plus4 -o $(PROJNAME).plus4 $(CFILES)

all: $(PROJNAME) a2 a2e c64 c16 c128 pet plus4

clean:
	rm -f ./$(PROJNAME) *.dsk *.o *.apple2 *.a2enh *.c64 *.c128 *.c16 *.pet *.plus4
