|  | # Copyright (C) 2017-2020  The Project X-Ray Authors. | 
|  | # | 
|  | # Use of this source code is governed by a ISC-style | 
|  | # license that can be found in the LICENSE file or at | 
|  | # https://opensource.org/licenses/ISC | 
|  | # | 
|  | # SPDX-License-Identifier: ISC | 
|  |  | 
|  | MASKS=\ | 
|  | bram \ | 
|  | clbll \ | 
|  | clblm \ | 
|  | dsp \ | 
|  | hclk \ | 
|  |  | 
|  | PPIPS=\ | 
|  | bram \ | 
|  | bram_int_interface \ | 
|  | clbll \ | 
|  | clblm \ | 
|  | dsp \ | 
|  | hclk \ | 
|  | int \ | 
|  |  | 
|  | SEGBITS=\ | 
|  | bram \ | 
|  | clbll \ | 
|  | clblm \ | 
|  | dsp \ | 
|  | hclk \ | 
|  | int \ | 
|  |  | 
|  | SEGBITS_R=\ | 
|  | clk_bufg_top \ | 
|  | clk_bufg_bot \ | 
|  | $(SEGBITS) | 
|  |  | 
|  | SEGBITS_L=\ | 
|  | $(SEGBITS) | 
|  |  | 
|  | DB_SIMPLE_LR=$(addprefix mask_,$(MASKS)) $(addprefix ppips_,$(PPIPS)) | 
|  | DB_SIMPLE_L=$(addprefix segbits_,$(SEGBITS_L)) | 
|  | DB_SIMPLE_R=$(addprefix segbits_,$(SEGBITS_R)) | 
|  | DB_SIMPLE=\ | 
|  | $(addsuffix _l, $(DB_SIMPLE_LR) $(DB_SIMPLE_L)) \ | 
|  | $(addsuffix _r, $(DB_SIMPLE_LR) $(DB_SIMPLE_R)) \ | 
|  | segbits_cmt_top_l_upper_t \ | 
|  | segbits_cmt_top_r_upper_t \ | 
|  | segbits_cmt_top_l_lower_b \ | 
|  | segbits_cmt_top_r_lower_b \ | 
|  | segbits_rioi3 \ | 
|  | segbits_riob33 \ | 
|  | segbits_riob18 \ | 
|  | segbits_hclk_cmt \ | 
|  | segbits_hclk_ioi3 \ | 
|  |  | 
|  | DB_SIMPLE += segbits_lioi3 segbits_liob33 | 
|  |  | 
|  | BLOCK_RAM_EXTRA_FOR=\ | 
|  | mask_bram \ | 
|  | segbits_bram | 
|  | BLOCK_RAM_EXTRA_DB_FILES=\ | 
|  | $(addsuffix .block_ram.db,$(addsuffix _l,$(BLOCK_RAM_EXTRA_FOR)) $(addsuffix _r,$(BLOCK_RAM_EXTRA_FOR))) | 
|  |  | 
|  |  | 
|  | DB_FILES=$(sort $(addsuffix .origin_info.db,$(DB_SIMPLE)) $(addsuffix .db,$(DB_SIMPLE)) $(BLOCK_RAM_EXTRA_DB_FILES)) | 
|  | DB_FILES_PATH=$(addprefix $(XRAY_DATABASE_DIR)/$(XRAY_DATABASE)/,$(DB_FILES)) | 
|  |  | 
|  | BUILD_DIR = build_${XRAY_PART} | 
|  |  | 
|  | check: | 
|  | @mkdir -p $(BUILD_DIR) | 
|  | @rm -f $(BUILD_DIR)/existing.txt | 
|  | @for DB_FILE in $(sort $(notdir $(wildcard $(XRAY_DATABASE_DIR)/$(XRAY_DATABASE)/*.db))); do \ | 
|  | echo $$DB_FILE >> $(BUILD_DIR)/existing.txt; \ | 
|  | done | 
|  | @rm -f $(BUILD_DIR)/tocreate.txt | 
|  | @for DB_FILE in $(sort $(DB_FILES)); do \ | 
|  | echo $$DB_FILE >> $(BUILD_DIR)/tocreate.txt; \ | 
|  | done | 
|  | diff -u $(BUILD_DIR)/existing.txt $(BUILD_DIR)/tocreate.txt | 
|  |  | 
|  | status: | 
|  | @echo $(DB_FILES_PATH) | 
|  | @for DB_FILE in $(DB_FILES_PATH); do \ | 
|  | echo -n "$$(basename $$DB_FILE) "; \ | 
|  | if [ -e "$$DB_FILE" ]; then \ | 
|  | echo -n "Exists! - "; \ | 
|  | else \ | 
|  | echo -n "Missing! - "; \ | 
|  | fi; \ | 
|  | echo "$$DB_FILE"; \ | 
|  | done | 
|  |  | 
|  | $(DB_FILES_PATH): | 
|  | touch $@ | 
|  |  | 
|  | ${XRAY_FAMILY_DIR}/${XRAY_PART}: | 
|  | mkdir -p ${XRAY_FAMILY_DIR}/${XRAY_PART} | 
|  |  | 
|  | ${XRAY_FAMILY_DIR}/${XRAY_FABRIC}: | 
|  | mkdir -p ${XRAY_FAMILY_DIR}/${XRAY_FABRIC} | 
|  |  | 
|  | pushdb: $(DB_FILES_PATH) ${XRAY_FAMILY_DIR}/${XRAY_PART} ${XRAY_FAMILY_DIR}/${XRAY_FABRIC} | 
|  | @true | 
|  |  | 
|  | run: | 
|  | rm -rf $(BUILD_DIR) run.${XRAY_PART}.ok | 
|  | $(MAKE) pushdb | 
|  | touch run.${XRAY_PART}.ok | 
|  |  | 
|  | clean: | 
|  | rm -rf build_* run.*.ok | 
|  |  | 
|  | .PHONY: pushdb clean run |