forked from bytecodealliance/lucet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
102 lines (84 loc) · 2.15 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
export GUEST_MODULE_PREFIX:=$(abspath .)
.PHONY: build-dev
build-dev:
@echo Creating a DEBUG build
cargo build --all
make -C lucet-builtins
.PHONY: build
build:
@echo Creating a RELEASE build
cargo build --all --release --bins --lib
make -C lucet-builtins
.PHONY: install
install: build
@helpers/install.sh
.PHONY: install-dev
install-dev: build-dev
@helpers/install.sh --unoptimized
.PHONY: test
test: indent-check test-packages
.PHONY: test-packages
test-packages:
cargo test --no-fail-fast \
-p lucet-runtime-internals \
-p lucet-runtime \
-p lucet-module \
-p lucetc \
-p lucet-wasi-sdk \
-p lucet-wasi \
-p lucet-wasi-fuzz \
-p lucet-validate
.PHONY: test-full
test-full: indent-check audit book test-except-fuzz test-fuzz
.PHONY: test-except-fuzz
test-except-fuzz: test-packages
# check but do *not* build or run these packages to mitigate bitrot
cargo check -p lucet-spectest -p lucet-runtime-example
# run the benchmarks in debug mode
cargo test --benches -p lucet-benchmarks -- --test
helpers/lucet-toolchain-tests/signature.sh
# run a single seed through the fuzzer to stave off bitrot
.PHONY: test-fuzz
test-fuzz:
cargo run -p lucet-wasi-fuzz -- test-seed 410757864950
FUZZ_NUM_TESTS?=1000
.PHONY: fuzz
fuzz:
cargo run --release -p lucet-wasi-fuzz -- fuzz --num-tests=$(FUZZ_NUM_TESTS)
.PHONY: book
book:
mdbook build docs
.PHONY: bench
bench:
cargo bench -p lucet-benchmarks
make -C benchmarks/shootout clean
make -C benchmarks/shootout bench
.PHONY: audit
audit:
cargo audit
.PHONY: clean
clean:
make -C benchmarks/shootout clean
make -C lucet-builtins clean
cargo clean
.PHONY: indent
indent:
helpers/indent.sh
.PHONY: indent-check
indent-check:
helpers/indent.sh check
.PHONY: package
package:
cargo deb -p lucet-validate
cargo deb -p lucetc
.PHONY: watch
watch:
cargo watch --exec "test \
-p lucet-runtime-internals \
-p lucet-runtime \
-p lucet-module \
-p lucetc \
-p lucet-wasi-sdk \
-p lucet-wasi \
-p lucet-benchmarks \
-p lucet-validate"