.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: 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: check
check: fmt-check lint test build
.PHONY: bench
bench:
cargo bench --bench benches
.PHONY: readme
readme: check-cargo-readme
cargo readme > README.md
.PHONY: check-cargo-readme
check-cargo-readme:
@command -v cargo-readme > /dev/null || (echo "Installing cargo-readme..."; cargo install cargo-readme)