# Build targets for the resume.
#
# Single content source: resume.yaml
#
# Two flavors:
#   short    -> condensed, single-page (default outputs)
#   full     -> detailed, longer (Detailed.* outputs)
#
#   make            -> short PDF
#   make odt        -> short ODT
#   make docx       -> short DOCX
#   make short      -> short PDF + ODT + DOCX
#   make detailed   -> detailed PDF + ODT + DOCX
#   make all        -> short and detailed in every format
#   make clean      -> remove TeX aux files
#   make distclean  -> also remove every generated PDF/ODT/DOCX/TEX

YAML := resume.yaml

# Short (condensed) outputs
TEX  := MikeEberlein_Resume.tex
PDF  := MikeEberlein_Resume.pdf
ODT  := MikeEberlein_Resume.odt
DOCX := MikeEberlein_Resume.docx

# Detailed outputs
TEX_D  := MikeEberlein_Resume_Detailed.tex
PDF_D  := MikeEberlein_Resume_Detailed.pdf
ODT_D  := MikeEberlein_Resume_Detailed.odt
DOCX_D := MikeEberlein_Resume_Detailed.docx

# Every artifact is .PHONY so `make` always rebuilds from resume.yaml — same
# effect as `make -B`. Resume builds are fast; correctness > caching.
.PHONY: all short detailed pdf odt docx clean distclean \
        $(TEX) $(PDF) $(ODT) $(DOCX) \
        $(TEX_D) $(PDF_D) $(ODT_D) $(DOCX_D)

all: short detailed
short: $(PDF) $(ODT) $(DOCX)
detailed: $(PDF_D) $(ODT_D) $(DOCX_D)
pdf: $(PDF)
odt: $(ODT)
docx: $(DOCX)

# ---------- short ----------
$(TEX): $(YAML) render_tex.py
	python3 render_tex.py --level=short --output=$(TEX)

$(PDF): $(TEX)
	lualatex -interaction=nonstopmode -halt-on-error $(TEX)
	lualatex -interaction=nonstopmode -halt-on-error $(TEX)

$(ODT): $(YAML) render_odt.py
	python3 render_odt.py --level=short --output=$(ODT)

$(DOCX): $(ODT)
	soffice --headless --convert-to docx $(ODT)

# ---------- detailed ----------
$(TEX_D): $(YAML) render_tex.py
	python3 render_tex.py --level=full --output=$(TEX_D)

$(PDF_D): $(TEX_D)
	lualatex -interaction=nonstopmode -halt-on-error $(TEX_D)
	lualatex -interaction=nonstopmode -halt-on-error $(TEX_D)

$(ODT_D): $(YAML) render_odt.py
	python3 render_odt.py --level=full --output=$(ODT_D)

$(DOCX_D): $(ODT_D)
	soffice --headless --convert-to docx $(ODT_D)

# ---------- maintenance ----------
clean:
	rm -f *.aux *.log *.out *.toc *.fls *.fdb_latexmk *.synctex.gz

distclean: clean
	rm -f $(PDF) $(ODT) $(DOCX) $(TEX) $(PDF_D) $(ODT_D) $(DOCX_D) $(TEX_D)
