PYTHON_PACKAGE ?= .[whisper]
VOXN_DATA_DIR ?= $(HOME)/.local/share/voxn
USER_SYSTEMD_DIR ?= $(HOME)/.config/systemd/user
USER_MAN_DIR ?= $(HOME)/.local/share/man/man1

.PHONY: install install-cli install-cli-minimal data-dir install-man install-systemd uninstall-systemd doctor rebuild

install:
	./scripts/install-user

install-cli:
	uv tool install -e '$(PYTHON_PACKAGE)'

install-cli-minimal:
	uv tool install -e .

data-dir:
	mkdir -p '$(VOXN_DATA_DIR)/wiki'
	touch '$(VOXN_DATA_DIR)/voxns.md'

install-man:
	mkdir -p '$(USER_MAN_DIR)'
	install -m 644 man/*.1 '$(USER_MAN_DIR)/'
	mandb -q '$(HOME)/.local/share/man' 2>/dev/null || true

install-systemd: data-dir
	mkdir -p '$(USER_SYSTEMD_DIR)'
	install -m 644 systemd/voxn-index.path '$(USER_SYSTEMD_DIR)/voxn-index.path'
	install -m 644 systemd/voxn-index.service '$(USER_SYSTEMD_DIR)/voxn-index.service'
	systemctl --user daemon-reload
	systemctl --user enable --now voxn-index.path

uninstall-systemd:
	systemctl --user disable --now voxn-index.path || true
	rm -f '$(USER_SYSTEMD_DIR)/voxn-index.path' '$(USER_SYSTEMD_DIR)/voxn-index.service'
	systemctl --user daemon-reload

doctor:
	voxn doctor

rebuild:
	voxn index --rebuild
