profile := dev
target = $(shell rustc -vV | grep host | awk '{print $$2}')
default: build
set_rust:
rustup default stable
prepare:
rustup target add $(target)
build: prepare
cargo build --profile $(profile) --target $(target)
test:
cargo test
examples:
cargo run --example generate_map
coverage:
cargo tarpaulin --fail-under 100
benchmark:
cargo bench
format:
cargo fmt && cargo clippy --fix
lint:
cargo fmt -- --check && cargo clippy
release:
cargo publish
ci: lint coverage
ifneq (,$(findstring refs/tags/,$(GIT_REF)))
$(MAKE) release
endif
.PHONY: default set_rust prepare build test coverage format lint benchmark release ci examples