.PHONY: all clean norm help

VENV := .venv
PY := $(VENV)/bin/python
PIP := $(VENV)/bin/pip

all: build search

build:
	@echo "Building project..."
	emacs -Q --script build-site.el

search: $(VENV)
	@echo "Generating search index"
	$(PY) search-index-json.py

$(VENV):
	@echo "Generating virtual environment"
	python3 -m venv $(VENV)
	$(PIP) install -r requirements.txt

clean:
	@echo "Cleaning output directory..."
	rm -rf output/
	rm -rf $(VENV)

norm:
	@echo "sorting out the backups..."
	find . -path ./backups -prune -o -type f -name '*~' -exec mv {} backups/ \;

# Show help message
help:
	@echo "Available targets:"
	@echo "  make        - Full rebuild"
	@echo "  make build  - Rebuild the output directory"
	@echo "  make clean  - Remove output directory"
	@echo "  make norm   - Move all files that end with ~ to the backup folder"
	@echo "  make search - creates the search index"
	@echo "  make help   - Show this help message"
