1.PHONY: build install release clean test run help
2
3# Default target
4help:
5 @echo "uson Makefile"
6 @echo ""
7 @echo "Available targets:"
8 @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
9
10build: ## Build in debug mode
11 cargo build
12
13release: ## Build optimized release binary
14 cargo build --release
15 @echo ""
16 @echo "Release binary: target/release/uson"
17
18install: ## Install to ~/.cargo/bin
19 cargo install --path .
20
21clean: ## Clean build artifacts
22 cargo clean
23
24test: ## Run tests
25 cargo test
26
27run: ## Run with example query
28 cargo run -- "did" -b "1" -j 1
29
30fmt: ## Format code
31 cargo fmt
32
33lint: ## Run clippy linter
34 cargo clippy -- -D warnings
35
36check: ## Check without building
37 cargo check