FUZDIR=$(shell pwd) BUILD_DIR=$(FUZDIR)/build TILEGRID_TDB_DEPENDENCIES= TILEGRID_TDB_DEPENDENCIES += iob/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += iob_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += monitor/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += bram/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += bram_block/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += bram_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += clb/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += clb_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += dsp/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += fifo_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += cfg_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += monitor_int/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += clk_hrow/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += clk_bufg/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += hclk_cmt/build/segbits_tilegrid.tdb GENERATE_FULL_ARGS= ifeq (${XRAY_DATABASE}, zynq7) # Zynq7 only TILEGRID_TDB_DEPENDENCIES += ps7_int/build/segbits_tilegrid.tdb else # Artix7/Kintex7 only TILEGRID_TDB_DEPENDENCIES += pll/build/segbits_tilegrid.tdb TILEGRID_TDB_DEPENDENCIES += mmcm/build/segbits_tilegrid.tdb endif ifeq (${XRAY_DATABASE}, kintex7) TILEGRID_TDB_DEPENDENCIES += orphan_int_column/build/segbits_tilegrid.tdb else # Disable DSP INT fuzzer on kintex7. It doesn't work, and isn't required. TILEGRID_TDB_DEPENDENCIES += dsp_int/build/segbits_tilegrid.tdb endif database: build/tilegrid.json pushdb: build/tilegrid.json cp build/tilegrid.json ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/tilegrid.json build/tiles/tiles.txt: bash generate.sh build/tiles tiles build/basicdb/tilegrid.json: generate.py build/tiles/tiles.txt mkdir -p build/basicdb cd build && python3 ${FUZDIR}/generate.py \ --tiles $(FUZDIR)/build/tiles/tiles.txt \ --out ${BUILD_DIR}/basicdb/tilegrid.json clb/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd clb && $(MAKE) clb_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd clb_int && $(MAKE) iob/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd iob && $(MAKE) iob_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd iob_int && $(MAKE) mmcm/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd mmcm && $(MAKE) pll/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd pll && $(MAKE) ps7_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd ps7_int && $(MAKE) monitor/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd monitor && $(MAKE) monitor_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd monitor_int && $(MAKE) bram/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd bram && $(MAKE) bram_block/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd bram_block && $(MAKE) bram_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd bram_int && $(MAKE) dsp/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd dsp && $(MAKE) dsp_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd dsp_int && $(MAKE) fifo_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd fifo_int && $(MAKE) cfg_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd cfg_int && $(MAKE) orphan_int_column/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd orphan_int_column && $(MAKE) clk_hrow/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd clk_hrow && $(MAKE) clk_bufg/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd clk_bufg && $(MAKE) hclk_cmt/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json cd hclk_cmt && $(MAKE) build/tilegrid_tdb.json: add_tdb.py $(TILEGRID_TDB_DEPENDENCIES) python3 add_tdb.py \ --fn-in build/basicdb/tilegrid.json \ --fn-out build/tilegrid_tdb.json build/tilegrid.json: generate_full.py build/tilegrid_tdb.json cd build && python3 ${FUZDIR}/generate_full.py \ --json-in tilegrid_tdb.json --json-out ${BUILD_DIR}/tilegrid.json run: $(MAKE) clean $(MAKE) database $(MAKE) pushdb touch run.ok clean: rm -rf build run.ok cd clb && $(MAKE) clean cd clb_int && $(MAKE) clean cd iob && $(MAKE) clean cd iob_int && $(MAKE) clean cd mmcm && $(MAKE) clean cd pll && $(MAKE) clean cd ps7_int && $(MAKE) clean cd bram && $(MAKE) clean cd bram_block && $(MAKE) clean cd bram_int && $(MAKE) clean cd dsp && $(MAKE) clean cd dsp_int && $(MAKE) clean cd fifo_int && $(MAKE) clean cd monitor && $(MAKE) clean cd monitor_int && $(MAKE) clean cd cfg_int && $(MAKE) clean cd orphan_int_column && $(MAKE) clean cd clk_hrow && $(MAKE) clean cd clk_bufg && $(MAKE) clean cd hclk_cmt && $(MAKE) clean .PHONY: database pushdb clean run