.DEFAULT_GOAL := help

.PHONY: help all coverletter cv watch watch-coverletter watch-cv clean

TYPST := typst
TYPST_FLAGS := --font-path fonts
BUILD_DIR := build

help:
	@echo "Verfügbare Befehle:"
	@echo "  make all          Anschreiben und Lebenslauf erzeugen"
	@echo "  make coverletter  Nur das Anschreiben erzeugen"
	@echo "  make cv           Nur den Lebenslauf erzeugen"
	@echo "  make watch        Beide Dokumente bei Änderungen neu bauen"
	@echo "  make watch-coverletter  Nur das Anschreiben überwachen"
	@echo "  make watch-cv     Nur den Lebenslauf überwachen"
	@echo "  make clean        Erzeugte PDFs entfernen"

all: coverletter cv

coverletter: $(BUILD_DIR)/coverletter.pdf

cv: $(BUILD_DIR)/cv.pdf

watch:
	@$(MAKE) --no-print-directory -j2 watch-coverletter watch-cv

watch-coverletter: | $(BUILD_DIR)
	$(TYPST) watch $(TYPST_FLAGS) coverletter.typ $(BUILD_DIR)/coverletter.pdf

watch-cv: | $(BUILD_DIR)
	$(TYPST) watch $(TYPST_FLAGS) cv.typ $(BUILD_DIR)/cv.pdf

$(BUILD_DIR):
	mkdir -p $@

$(BUILD_DIR)/coverletter.pdf: coverletter.typ personal.typ template.typ assets/signature.png | $(BUILD_DIR)
	$(TYPST) compile $(TYPST_FLAGS) coverletter.typ $@

$(BUILD_DIR)/cv.pdf: cv.typ personal.typ template.typ | $(BUILD_DIR)
	$(TYPST) compile $(TYPST_FLAGS) cv.typ $@

clean:
	rm -f $(BUILD_DIR)/coverletter.pdf $(BUILD_DIR)/cv.pdf
