BIN6502 = ${HOME}/6502
BINCOM = ${HOME}/compress
INPUT = ../input

CC65BINDIR = $(BIN6502)/apps/cc/install/bin
AS = $(CC65BINDIR)/ca65
LD = $(CC65BINDIR)/ld65

data: data-fibiter-figforth
trace: fibiter-figforth.svtrace.com
img: fibiter-figforth.img
.PHONY: data trace img

######

data-fibiter-figforth: fibiter-figforth.svtrace.com $(BINCOM)/tools/comstats6502
	$(BINCOM)/tools/comstats6502 <$< 3>fibiter-figforth.hist 4>fibiter-figforth.seq 5>fibiter-figforth.pat 6>/dev/null

fibiter-figforth.svtrace.com: fibiter-figforth.img $(BIN6502)/6502 $(BINCOM)/com6502
	/usr/bin/time -o fibiter-figforth.time $(BIN6502)/6502 -t sv -o /dev/stdout -p fibiter-figforth.stdout $< fibiter-figforth.oimg <$(INPUT) 2>fibiter-figforth.stderr | $(BINCOM)/com6502 >$@ 2>$@.info

fibiter-figforth.img: fibiter-figforth.o ../figforth.cfg
	$(LD) -o $@ -C ../figforth.cfg $< -m fibiter-figforth.map

fibiter-figforth.o: fibiter-figforth.s
	$(AS) -t none --cpu 6502 $< -l fibiter-figforth.lst

######

clean:
	-rm -rf *.o *.lst *.map *.img *.oimg *.stdout *.stderr *trace.com* *.time *~ 6502.trc.bin