.DEFAULT_GOAL := all
PROFILE := release
UNAME := $(shell uname)
PROTOC := protoc
ifeq ($(UNAME), Darwin)
PROTOC = /opt/homebrew/opt/protobuf@21/bin/protoc
endif
CBINDGEN=${HOME}/.cargo/bin/cbindgen
.PHONY: check
check:
@echo "Running Cargo check..."
@cargo check --all --all-features --all-targets
.PHONY: test
test:
@echo "Running Cargo test..."
@cargo test
.PHONY: clippy
clippy:
@echo "Running Cargo clippy..."
@cargo clippy --all --all-features --all-targets -- -D warnings
.PHONY: deny
deny:
@echo "Running Cargo deny..."
@cargo deny check -c .cargo-deny.toml
.PHONY: format
format:
@echo "Running Cargo fmt..."
@cargo fmt --all
format-check:
@echo "Running Cargo fmt..."
@cargo fmt --all -- --check
.PHONY: build
build:
@echo "Running Cargo build..."
@cargo install maturin
@cargo build --release --all-features
.PHONY: doc
doc:
@echo "Running Cargo doc..."
@RUSTDOCFLAGS="--enable-index-page --check -Zunstable-options" cargo doc --no-deps --all-features
.PHONY: clean
clean:
@echo "Running Cargo clean..."
@cargo clean
.PHONY: all
all: check test clippy deny format build doc