mirror of https://github.com/openXC7/prjxray.git
46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
YOSYS = $(XRAY_DIR)/third_party/yosys/yosys
|
|
PART = xc7a35tcsg324-1
|
|
BIT2FASM_ARGS = --part "$(XRAY_DIR)/database/artix7/$(PART)" --verbose
|
|
|
|
VERILOG_FILES = $(wildcard *.v)
|
|
FASM_TARGETS = $(VERILOG_FILES:.v=.fasm)
|
|
SEGPRINT_TARGETS = $(VERILOG_FILES:.v=.segprint.log)
|
|
|
|
all: $(FASM_TARGETS) $(SEGPRINT_TARGETS)
|
|
|
|
clean:
|
|
@find . -name "build.*" | xargs rm -rf
|
|
@rm -f *.edif
|
|
@rm -f *.bit
|
|
@rm -f *.bin
|
|
@rm -f *.bits
|
|
@rm -f *.fasm
|
|
@rm -f *.log
|
|
@rm -f *.dcp
|
|
|
|
.PHONY: all clean
|
|
|
|
$(YOSYS):
|
|
cd $(XRAY_DIR)/third_party/yosys && make config-gcc && make -j$(shell nproc)
|
|
|
|
%.edif: %.v $(YOSYS)
|
|
$(YOSYS) -p "read_verilog $< ; synth_xilinx -flatten -nosrl -edif $@" -l $@.log
|
|
|
|
%.bit: %.edif par.tcl
|
|
mkdir -p build.$(basename $@)
|
|
cd build.$(basename $@) && env PROJECT_NAME=$(basename $@) $(XRAY_VIVADO) -mode batch -source ../par.tcl -nojournal -log ../$@.log
|
|
rm -rf *.backup.log
|
|
|
|
%.fasm: %.bit
|
|
PYTHONPATH="$(XRAY_DIR):$(XRAY_DIR)/utils:$(XRAY_DIR)/third_party/fasm" \
|
|
PATH="$(XRAY_DIR)/build/tools:$(PATH)" \
|
|
$(XRAY_BIT2FASM) $(BIT2FASM_ARGS) \
|
|
$< >$@ \
|
|
|| (rm -f $@ && exit 1)
|
|
|
|
%.bits: %.bit
|
|
$(XRAY_BITREAD) -part_file $(XRAY_DIR)/database/artix7/$(PART).yaml -o $@ -z -y $<
|
|
|
|
%.segprint.log: %.bits
|
|
$(XRAY_SEGPRINT) -z -D -b $< > $@
|