# Equi reference implementation build project

PROJNAME=equi
CFILES=equi.c
PBTDIR=platform-build-tools
PERSFILE=PERS.DAT
DFLAGS=-DPERSIST_FILE="\"$(PERSFILE)\""

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

tcc: perscopy
	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
	java -jar $(PBTDIR)/apple2/ac.jar -dos $(PROJNAME).dsk $(PERSFILE) bin < $(PBTDIR)/$(PERSFILE)

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
	java -jar $(PBTDIR)/apple2/ac.jar -dos $(PROJNAME)-enh.dsk $(PERSFILE) bin < $(PBTDIR)/$(PERSFILE)

perscopy:
	cp $(PBTDIR)/$(PERSFILE) $(PERSFILE)

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