30 lines
837 B
Makefile
30 lines
837 B
Makefile
|
#
|
||
|
# OpenFPGA cell library Makefile
|
||
|
# ==============================
|
||
|
#
|
||
|
# Check correctness of the cell library files
|
||
|
|
||
|
SHELL = bash
|
||
|
PYTHON_EXEC ?= python3
|
||
|
|
||
|
# 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"
|
||
|
|
||
|
compile_verilog:
|
||
|
# This command checks the compile compatibility of Verilog files
|
||
|
for f in `cat verilog_sources.f`; do iverilog $$f; 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
|