# Equi reference implementation build project

PROJNAME=equi
CFILES=equi.c
PBTDIR=platform-build-tools
DFLAGS=

desktopcc:
	cc -std=c89 -Os -o $(PROJNAME) $(CFILES) $(DFLAGS)
	strip $(PROJNAME)

tcc:
	tcc -std=c89 -o $(PROJNAME) $(CFILES) $(DFLAGS)

apple2-build:
	cl65 --standard c89 -O -Os -t apple2 -o $(PROJNAME).apple2 $(CFILES) $(DFLAGS)

apple2: apple2-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
	rm *.o *.apple2

apple2enh-build:
	cl65 --standard c89 -O -Os -t apple2enh -o $(PROJNAME).a2enh $(CFILES) $(DFLAGS)

apple2enh: apple2enh-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
	rm *.o *.a2enh

clean:
	rm -f ./$(PROJNAME) *.dsk *.o *.apple2 *.a2enh
