| 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 |
| |