.PHONY: all build clean rust help test run dev check-deps
ARGS ?=
all: build
build: rust
@echo "✓ Build complete"
run: build
@./target/release/aufbau $(ARGS)
rust:
@echo "Building Rust library..."
@cargo build --release
@echo "✓ Rust build complete"
clean: clean-rust
@echo "✓ All build artifacts cleaned"
clean-rust:
@echo "Cleaning Rust artifacts..."
@cargo clean
test: build
@echo "Running Rust tests..."
@cargo test --release
@echo "✓ Tests passed"
dev: dev-rust
@echo "✓ Development build complete"
dev-rust:
@echo "Building Rust (debug)..."
@cargo build
check-deps:
@echo "Checking build dependencies..."
@command -v cargo >/dev/null 2>&1 || { echo "✗ cargo not found"; exit 1; }
@echo "✓ All dependencies available"
help:
@echo "Aufbau Build System"
@echo ""
@echo "Available targets:"
@echo " all - Build everything (default)"
@echo " build - Build all components in release mode"
@echo " run - Run aufbau binary (use ARGS='...' to pass arguments)"
@echo " dev - Build all components in debug mode (faster)"
@echo " rust - Build only Rust components"
@echo " test - Run all tests"
@echo " clean - Remove all build artifacts"
@echo " clean-rust - Remove only Rust artifacts"
@echo " check-deps - Verify all build tools are installed"
@echo " help - Show this help message"
@echo ""
@echo "Examples:"
@echo " make @echo " make run @echo " make run ARGS='--help' @echo " make dev @echo " make clean build