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 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