.PHONY: help fmt ci-format ci-lint ci-no-std ci-test ci-coverage ci-audit ci-deny build clean
.DEFAULT_GOAL := help
ADVISORY_DB ?=
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
fmt:
cargo fmt --all
ci-format:
cargo fmt --all -- --check
ci-lint:
cargo clippy --workspace --all-targets --all-features --no-deps -- -D warnings
ci-no-std:
cargo check --no-default-features
cargo check --no-default-features --features alloc
cargo check --no-default-features --features alloc,serde
ci-test:
cargo nextest run --workspace --all-features
ci-coverage:
cargo llvm-cov nextest --workspace --all-features --fail-under-functions 100
build:
cargo build --release
ci-audit: ## Run cargo audit (PLATFORM-008 — strict, no default ignores). Pass ADVISORY_DB=... to use a local clone.
cargo audit $(if $(ADVISORY_DB),--db $(ADVISORY_DB),)
ci-deny:
cargo deny check licenses
clean:
cargo clean