-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (48 loc) · 1.4 KB
/
Makefile
File metadata and controls
61 lines (48 loc) · 1.4 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
53
54
55
56
57
58
59
60
61
.PHONY: fmt
fmt:
cargo fmt --quiet --all
.PHONY: check-fmt
check-fmt:
cargo fmt --check --quiet --all
.PHONY: clippy
clippy:
python3 scripts/clippy_wrapper.py
.PHONY: test
test:
cargo test --workspace --release --locked --quiet --lib --bins
.PHONY: install
install:
cargo install --path crates/sembly-cli --locked
cargo install --path crates/forester --locked
.PHONY: deny
deny:
cargo deny --no-default-features check licenses bans sources
.PHONY: lint-loc
lint-loc:
python3 scripts/lint_loc.py
.PHONY: check
check: check-fmt clippy deny lint-loc test
.PHONY: integ
integ: check
# Integration tests require --release on ARM64 Linux.
# The candle ML framework depends on gemm, which uses f16 SIMD instructions.
# In debug mode, gemm-f16 emits fullfp16 instructions that aren't available
# on all ARM64 CPUs (e.g., Graviton). The gemm crates are compiled with
# opt-level=1 in dev profile (see Cargo.toml) to avoid this issue.
# See: https://github.com/sarah-quinones/gemm/issues/31
cargo test --workspace --release --locked --quiet -- --ignored
.PHONY: build
build:
cargo build --workspace --locked --quiet
.PHONY: release-build
release-build:
cargo build --workspace --release --locked --quiet
.PHONY: lint-style
lint-style:
cargo run --quiet --release --package syn-lint
# Documentation
.PHONY: book book-serve
book:
mdbook build crates/crumbly-cli/book
book-serve:
mdbook serve crates/crumbly-cli/book