.PHONY: help quality test lint format format-check type-check security build clean check ci
help:
@echo 'Usage: make [target]'
@echo ''
@echo 'Available targets:'
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
quality: format-check lint security test
format:
@echo "Formatting code..."
@cargo fmt
format-check:
@echo "Checking format..."
@cargo fmt --check
lint:
@echo "Running clippy..."
@cargo clippy --all-targets --all-features -- -D warnings
type-check:
@echo "Type-checking..."
@cargo check --all-targets --all-features
test:
@echo "Running tests..."
@cargo test --all-features
security:
@echo "Running security audit..."
@cargo audit
build:
@echo "Building..."
@cargo build --all-targets --all-features
clean:
@echo "Cleaning..."
@cargo clean
check: format-check lint test
ci: check type-check
@echo "✓ CI pipeline passed!"