blob: 0cc0f12339930f8c906feedbce471f210d068071 [file]
N ?= 10
BUILD_DIR=build_$(URAY_PART)
GENERATE_ARGS ?=
SPECIMENS := $(addprefix $(BUILD_DIR)/specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
export FUZDIR=$(PWD)
database: $(BUILD_DIR)/segbits_tilegrid.tdb
$(BUILD_DIR)/segbits_tilegrid.tdb: $(SPECIMENS_OK)
$(URAY_SEGMATCH) -o $(BUILD_DIR)/segbits_tilegrid.tdb $$(find $(BUILD_DIR) -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); \
$(URAY_VIVADO) -mode batch -source $(FUZDIR)/generate.tcl; \
test -z "$$$$(fgrep CRITICAL vivado.log)"
$(1)/design.bits: $(1)/design.bit
$(URAY_BITREAD) -F $(URAY_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_DIR)
.PHONY: database pushdb run clean