-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
81 lines (63 loc) · 2.49 KB
/
Makefile
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
prog :=tasm-lib
debug ?=
$(info debug is $(debug))
# Treat all warnings as errors
export RUSTFLAGS = -Dwarnings
# Set another target dir than default to avoid builds from `make`
# to invalidate cache from barebones use of `cargo` commands.
# The cache is cleared when a new `RUSTFLAGS` value is encountered,
# so to prevent the two builds from interfering, we use two dirs.
export CARGO_TARGET_DIR=./makefile-target
ifdef debug
release :=
target :=debug
extension :=-debug
else
release :=--release
target :=release
extension :=
endif
build:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo build $(release)
rustup check
@echo "Update with \`rustup install stable\` if needed."
check:
cargo check
ctags:
# Do `cargo install rusty-tags`
# See https://github.com/dan-t/rusty-tags
rusty-tags vi
format:
cargo fmt --all
lint:
cargo clippy --all-targets
# Get a stack trace upon kernel panic (may slow down implementation)
run: export RUST_BACKTRACE = 1
run:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo run
# Get a stack trace upon kernel panic (may slow down implementation)
test:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo test -- --test-threads=5
bench:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo bench
bench-no-run:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo bench --no-run
all: lint build test bench-no-run
# Run prove/verify on all produced snippets, one at a time. Will take a *long* time. Meant as a test of Triton-VM
# more than a test of the snippets contained in this repo.
prove:
RUSTFLAGS="-C opt-level=3 -C debug-assertions=no" DYING_TO_PROVE=1 cargo t -- --test-threads=1 --nocapture
help:
@echo "usage: make [debug=1]"
clean:
@echo " ._. ██ ██ ███ ██ ██ █████ ████ ██ █████ ███ ██ ██"
@echo " c/-| ███ ███ ██ ██ ████ ██ ██ ██ ██ ██ ██ ███ ██"
@echo " c/--| ████████ █████ ███ ███ ██ ██ ███ █████ ██████"
@echo " / /| ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ███"
@echo " mmm ' ' ██ ██ ██ ██ ██ ██ █████ ████ █████ █████ ██ ██ ██ ██"
@rm -rf target