blob: e9532e0f2f73f4238bf82337f2b6e3ec5180c592 [file]
N ?= 10
GENERATE_ARGS ?=
SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
export FUZDIR=$(PWD)
database: build/segbits_tilegrid.tdb
build/segbits_tilegrid.tdb: $(SPECIMENS_OK)
$(XRAY_SEGMATCH) -o build/segbits_tilegrid.tdb $$(find build -name "segdata_tilegrid.txt")
define generate =
$(1)/top.v $(1)/params.csv:
GENERATE_ARGS="$(GENERATE_ARGS)" bash ../fuzzaddr/generate.sh $(1)
$(1)/design.bit $(1)/design.dcp: $(1)/top.v
cd $(1); \
$(XRAY_VIVADO) -mode batch -source $(FUZDIR)/generate.tcl; \
test -z "$$$$(fgrep CRITICAL vivado.log)"
$(1)/design.bits: $(1)/design.bit
$(XRAY_BITREAD) -F $(XRAY_ROI_FRAMES) -o $$@ -z -y $$<
$(1)/segdata_tilegrid.txt: $(1)/design.bits
cd $(1); \
python3 $(FUZDIR)/../fuzzaddr/generate.py $(GENERATE_ARGS) > segdata_tilegrid.txt
$(1)/OK: $(1)/segdata_tilegrid.txt
touch $$@
endef
$(foreach specimen,$(SPECIMENS),$(eval $(call generate,$(specimen))))
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf build
.PHONY: database pushdb run clean