-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
52 lines (41 loc) · 1.39 KB
/
Makefile
File metadata and controls
52 lines (41 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# SPDX-FileCopyrightText: Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2025 Timor Knudsen (AMD)
# SPDX-License-Identifier: MIT
.PHONY: all sim synth test docs lint clean help
BUILD_DIR := build
CACHE_DIR := .cache
# Default target
all: lint test synth sim
# Run Verilator RTL test benches
sim:
uv run pytest python/tb -m sim --speed simfast
# Run Yosys synthesis and generate utilization reports
synth:
uv run pytest python/tb -m synth --speed simfast
# Run Python tests
test:
uv run pytest python/test
# Generate documentation (inluding utilization reports)
docs:
cp -rf docs $(BUILD_DIR)
uv run zensical build --clean
# Run lint on all files
lint:
uv run prek run --all-files
# Clean all build artifacts
clean:
rm -rf $(BUILD_DIR)
rm -rf $(CACHE_DIR)
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete
find . -type f -name "*.pyo" -delete
# Display help information
help:
@echo "Mini-ISP Makefile targets:"
@echo " make sim - Run the Verilator test benches"
@echo " make synth - Run the Yosys synthesis"
@echo " make test - Run the Python tests"
@echo " make lint - Run lint on all files"
@echo " make clean - Clean all build artifacts"
@echo " make all - Run lint, test, synth, and sim (default)"
@echo " make help - Display this help message"