.DEFAULT_GOAL := help
BINARY := ocls
CARGO := cargo
TARGET_DIR := target/release
.PHONY: help
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}'
.PHONY: build
build:
$(CARGO) build
.PHONY: release
release:
$(CARGO) build --release
.PHONY: install
install:
$(CARGO) install --path .
.PHONY: fmt
fmt:
$(CARGO) fmt
.PHONY: fmt-check
fmt-check:
$(CARGO) fmt --check
.PHONY: lint
lint:
$(CARGO) clippy -- -D warnings
.PHONY: test
test:
$(CARGO) test --all
.PHONY: check
check: fmt-check lint test
.PHONY: coverage
coverage:
$(CARGO) llvm-cov --all-features --workspace --html
.PHONY: coverage-text
coverage-text:
$(CARGO) llvm-cov --all-features --workspace
.PHONY: run
run:
$(CARGO) run --
.PHONY: run-json
run-json:
$(CARGO) run -- --json
.PHONY: run-verbose
run-verbose:
$(CARGO) run -- -v
.PHONY: run-claude
run-claude:
$(CARGO) run -- ~/.claude
.PHONY: clean
clean:
$(CARGO) clean
.PHONY: cross-linux-x86
cross-linux-x86:
cross build --release --target x86_64-unknown-linux-musl
.PHONY: cross-linux-arm
cross-linux-arm:
cross build --release --target aarch64-unknown-linux-musl
.PHONY: cross-mac-arm
cross-mac-arm:
$(CARGO) build --release --target aarch64-apple-darwin
.PHONY: cross-mac-x86
cross-mac-x86:
$(CARGO) build --release --target x86_64-apple-darwin