.DEFAULT_GOAL := help
ARGS ?=
.PHONY: help
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
.PHONY: build
build:
cargo build --locked
.PHONY: release
release:
cargo build --locked --release
.PHONY: run
run: ## Run the binary; pass args via ARGS="..."
cargo run -- $(ARGS)
.PHONY: test
test:
cargo test --locked
.PHONY: fmt
fmt:
cargo fmt --all
.PHONY: fmt-check
fmt-check:
cargo fmt --all -- --check
.PHONY: clippy
clippy:
cargo clippy --all-targets -- -D warnings
.PHONY: lint
lint: fmt-check clippy
.PHONY: check
check:
cargo check --all-targets
.PHONY: doc
doc:
cargo doc --no-deps --open
.PHONY: ci
ci: fmt-check clippy build test
.PHONY: clean
clean:
cargo clean