-
Notifications
You must be signed in to change notification settings - Fork 8
/
Makefile
85 lines (65 loc) · 2.96 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
82
83
84
85
.PHONY: clean help stats bench all install run test build doc check format bench-no-run pretty-log
prog :=neptune-core
# 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
# Tests that require proofs that are expensive to create
expensive-proofs:
CARGO_TARGET_DIR=./makefile-target-opt-level3 RUSTFLAGS="-C opt-level=3 -C debug-assertions=no -Z threads=180 --cfg=tokio_unstable" cargo t can_verify_transaction_ -- --nocapture --test-threads=1
build:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo build $(release)
rustup check
@echo "Update with \`rustup install stable\` if needed."
doc:
cargo doc --no-deps
xdg-open "target/doc/neptune-core/index.html"
check:
cargo check
ctags:
# Do `cargo install rusty-tags`
# See https://github.com/dan-t/rusty-tags
rusty-tags vi
format:
cargo fmt --all --check
install-linux:
cargo install --path .
@echo "\n\nPlease run:\n./scripts/linux/install-bash-completions.sh\nto install bash-completions for Neptune-core's CLI."
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: export RUST_BACKTRACE = 1
test:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo nextest r
cargo test --doc
bench:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo bench
bench-no-run:
$(info RUSTFLAGS is $(RUSTFLAGS))
cargo bench --no-run
all: lint format build test bench-no-run
help:
@echo "usage: make [debug=1]"
restart:
@rm -rf ~/.local/share/neptune-integration-test
clean:
@echo " ._. ██ ██ ███ ██ ██ █████ ████ ██ █████ ███ ██ ██"
@echo " c/-| ███ ███ ██ ██ ████ ██ ██ ██ ██ ██ ██ ███ ██"
@echo " c/--| ████████ █████ ███ ███ ██ ██ ███ █████ ██████"
@echo " / /| ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ███"
@echo " mmm ' ' ██ ██ ██ ██ ██ ██ █████ ████ █████ █████ ██ ██ ██ ██"
@rm -rf target
cargo clean
stats:
git shortlog --numbered --summary --all --email # --committer
pretty-log:
git log --pretty=" %C(brightblack)%>(16)%ch %C(auto,green)%>(11)%cN %C(brightmagenta)%G? %C(blue)%h %C(auto)%d %<|(118,trunc)%s%C(reset)" --date=relative --topo-order -n 52 --reverse