PYTHON ?= python3 CONFIG := $(HOME)/.config/aman/config.json DIST_DIR := $(CURDIR)/dist BUILD_DIR := $(CURDIR)/build RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) RUN_CONFIG := $(if $(RUN_ARGS),$(abspath $(firstword $(RUN_ARGS))),$(CONFIG)) .PHONY: run doctor self-check eval-models build-heuristic-dataset sync-default-model check-default-model sync test check build package package-deb package-arch release-check install-local install-service install clean-dist clean-build clean EVAL_DATASET ?= $(CURDIR)/benchmarks/cleanup_dataset.jsonl EVAL_MATRIX ?= $(CURDIR)/benchmarks/model_matrix.small_first.json EVAL_OUTPUT ?= $(CURDIR)/benchmarks/results/latest.json EVAL_HEURISTIC_RAW ?= $(CURDIR)/benchmarks/heuristics_dataset.raw.jsonl EVAL_HEURISTIC_DATASET ?= $(CURDIR)/benchmarks/heuristics_dataset.jsonl EVAL_HEURISTIC_WEIGHT ?= 0.25 MODEL_ARTIFACTS ?= $(CURDIR)/benchmarks/model_artifacts.json CONSTANTS_FILE ?= $(CURDIR)/src/constants.py ifneq ($(filter run,$(firstword $(MAKECMDGOALS))),) .PHONY: $(RUN_ARGS) $(RUN_ARGS): @: endif run: uv run aman run --config $(RUN_CONFIG) doctor: uv run aman doctor --config $(CONFIG) self-check: uv run aman self-check --config $(CONFIG) build-heuristic-dataset: uv run aman build-heuristic-dataset --input $(EVAL_HEURISTIC_RAW) --output $(EVAL_HEURISTIC_DATASET) eval-models: build-heuristic-dataset uv run aman eval-models --dataset $(EVAL_DATASET) --matrix $(EVAL_MATRIX) --heuristic-dataset $(EVAL_HEURISTIC_DATASET) --heuristic-weight $(EVAL_HEURISTIC_WEIGHT) --output $(EVAL_OUTPUT) sync-default-model: uv run aman sync-default-model --report $(EVAL_OUTPUT) --artifacts $(MODEL_ARTIFACTS) --constants $(CONSTANTS_FILE) check-default-model: uv run aman sync-default-model --check --report $(EVAL_OUTPUT) --artifacts $(MODEL_ARTIFACTS) --constants $(CONSTANTS_FILE) sync: uv sync test: $(PYTHON) -m unittest discover -s tests -p 'test_*.py' check: $(PYTHON) -m py_compile src/*.py $(MAKE) test build: $(PYTHON) -m build --no-isolation package: package-deb package-arch package-deb: ./scripts/package_deb.sh package-arch: ./scripts/package_arch.sh release-check: $(MAKE) check-default-model $(PYTHON) -m py_compile src/*.py tests/*.py $(MAKE) test $(MAKE) build install-local: $(PYTHON) -m pip install --user ".[x11]" install-service: mkdir -p $(HOME)/.config/systemd/user cp systemd/aman.service $(HOME)/.config/systemd/user/aman.service systemctl --user daemon-reload systemctl --user enable --now aman install: install-local install-service clean-dist: rm -rf $(DIST_DIR) clean-build: rm -rf $(BUILD_DIR) clean: clean-build