SOURCES := $(wildcard hdl/**.sv) HEADERS := $(wildcard hdl/**.svh) MEMORIES := $(addprefix build/, $(addsuffix .hex, $(basename $(wildcard mem/**.pal)))) QUARTUS := $(shell find altera tcl -name \*.cdf -o -name \*.sdc -o -name \*.tcl) fpga: pdp8.sof quartus_pgm -c 1 -m JTAG -o "P;$<@1" .PHONY: fpga term-mem: nios2-terminal --instance 0 .PHONY: term-mem term-pdp8: nios2-terminal --instance 1 .PHONY: term-pdp8 build/%.hex: build/%.bin p8bin2hex $< > $@ build/%.hex: %.bin p8bin2hex $< > $@ build/%.bin: %.pal @mkdir -p $(dir $@) palbart $< mv -f $*.bin $*.lst $(dir $@) pdp8.sof: $(SOURCES) $(HEADERS) $(MEMORIES) $(QUARTUS) [ ! -e pdp8.qpf ] || quartus_sh -t tcl/clean.tcl quartus_sh -t tcl/init.tcl quartus_sh --flow compile pdp8.qpf clean: git clean -dfX .PHONY: clean .SECONDARY: