.DEFAULT_GOAL := help

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

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

# Dateinamen nur hier ändern. Die PDF-Namen werden daraus abgeleitet.
COVERLETTER_SRC := Wartenberg-Robert-Anschreiben.typ
CV_SRC := Wartenberg-Robert-Lebenslauf.typ
COVERLETTER_PDF := $(BUILD_DIR)/$(notdir $(COVERLETTER_SRC:.typ=.pdf))
CV_PDF := $(BUILD_DIR)/$(notdir $(CV_SRC:.typ=.pdf))

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: $(COVERLETTER_PDF)

cv: $(CV_PDF)

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

watch-coverletter: $(COVERLETTER_SRC) | $(BUILD_DIR)
	$(TYPST) watch $(TYPST_FLAGS) "$(COVERLETTER_SRC)" "$(COVERLETTER_PDF)"

watch-cv: $(CV_SRC) | $(BUILD_DIR)
	$(TYPST) watch $(TYPST_FLAGS) "$(CV_SRC)" "$(CV_PDF)"

$(BUILD_DIR):
	mkdir -p "$@"

$(COVERLETTER_PDF): $(COVERLETTER_SRC) personal.typ template.typ assets/signature.png Makefile | $(BUILD_DIR)
	$(TYPST) compile $(TYPST_FLAGS) "$(COVERLETTER_SRC)" "$@"

$(CV_PDF): $(CV_SRC) personal.typ template.typ Makefile | $(BUILD_DIR)
	$(TYPST) compile $(TYPST_FLAGS) "$(CV_SRC)" "$@"

clean:
	rm -f "$(COVERLETTER_PDF)" "$(CV_PDF)"
