.PHONY: all build release debug install uninstall clean test check help PREFIX ?= $(HOME)/.local BINDIR ?= $(PREFIX)/bin CARGO ?= cargo CARGO_FLAGS ?= all: release build: release release: $(CARGO) build --release $(CARGO_FLAGS) debug: $(CARGO) build $(CARGO_FLAGS) install: release install -d $(BINDIR) install -m 755 target/release/ork $(BINDIR)/ork uninstall: rm -f $(BINDIR)/ork clean: $(CARGO) clean test: $(CARGO) test $(CARGO_FLAGS) check: $(CARGO) check $(CARGO_FLAGS) $(CARGO) clippy $(CARGO_FLAGS) -- -D warnings fmt: $(CARGO) fmt fmt-check: $(CARGO) fmt -- --check help: @echo "orkmode - org-mode parser and CLI" @echo "" @echo "Targets:" @echo " all, build, release Build release binary" @echo " debug Build debug binary" @echo " install Install to $(BINDIR)" @echo " uninstall Remove from $(BINDIR)" @echo " clean Remove build artifacts" @echo " test Run tests" @echo " check Run cargo check and clippy" @echo " fmt Format code" @echo " fmt-check Check formatting" @echo "" @echo "Variables:" @echo " PREFIX Installation prefix (default: ~/.local)" @echo " CARGO Cargo command (default: cargo)"