.DEFAULT_GOAL := build binname ?= $(shell tq -o json Cargo.toml | jq -r '.package.name') .PHONY: build build: target/doc cargo build .PHONY: install install: target/release/$(binname) sudo install -D $< /usr/local/bin/$(binname) .PHONY: test test: cargo test -- --nocapture target/release/$(binname): src/** Cargo.* cargo build --release target/doc: Cargo.* cargo doc README.md: Cargo.* src/** truncate -s 0 $@ echo -e "# $(binname)\n" >> $@ echo -e '```' >> $@ cargo run -- --help >> $@ echo -e '```\n' >> README.md .PHONY: lint lint: cargo +nightly clippy -- -Wclippy::pedantic