OpenFPGA/openfpga_flow/vpr_arch/Makefile

37 lines
949 B
Makefile

#
# Arch Makefile
# =============
#
# This makefile is designed to process architecture files
#
SHELL = bash
PYTHON_EXEC ?= python3
ARCH_UPDATER = ../scripts/arch_file_updater.py
.SILENT:
.ONESHELL:
# Put it first so that "make" without argument is like "make help".
export COMMENT_EXTRACT
# Put it first so that "make" without argument is like "make help".
help:
@${PYTHON_EXEC} -c "$$COMMENT_EXTRACT"
v1p1_to_v1p2:
# This commands will update all the architecture file from v1.1 to v1.2
for f in `ls *.xml`; \
do ${PYTHON_EXEC} ${ARCH_UPDATER} --input_file $${f} --output_file $${f} || exit 1; \
done;
# Functions to extract comments from Makefiles
define COMMENT_EXTRACT
import re
with open ('Makefile', 'r' ) as f:
matches = re.finditer('^([a-zA-Z-_]*):.*\n#(.*)', f.read(), flags=re.M)
for _, match in enumerate(matches, start=1):
header, content = match[1], match[2]
print(f" {header:10} {content}")
endef