.PHONY: help
help:
@grep -E '^[a-zA-Z0-9_-]+:.*## ' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS=":.*## "}; {t[NR]=$$1; d[NR]=$$2; if (length($$1)>w) w=length($$1)} \
END {for (i=1;i<=NR;i++) printf "%-*s %s\n", w, t[i], d[i]}'
.PHONY: check
check: fmt-check lint test build readme-check
.PHONY: build
build:
cargo build --examples
.PHONY: clean
clean:
cargo clean
.PHONY: fmt
fmt:
cargo fmt --all
.PHONY: fmt-check
fmt-check:
cargo fmt --all -- --check
.PHONY: lint
lint:
cargo clippy --all-targets --all-features -- -D warnings
.PHONY: lint-fix
lint-fix:
cargo clippy --fix --all-targets --all-features --allow-dirty --allow-staged -- -D warnings
.PHONY: test
test:
cargo test --all-features
.PHONY: readme
readme: install-cargo-reedme
cargo +nightly reedme
.PHONY: readme-check
readme-check: install-cargo-reedme
cargo +nightly reedme --check
.PHONY: install-cargo-reedme
install-cargo-reedme:
@command -v cargo-reedme > /dev/null || (echo "Installing cargo-reedme..."; cargo install cargo-reedme)
.PHONY: docs
docs:
cargo doc --no-deps --document-private-items --open
.PHONY: bench
bench:
cargo bench --bench benches
.PHONY: bench-docs
bench-docs: bench
cargo run -p xtask -- gen-bench-docs