Resume/Makefile

79 lines
2.3 KiB
Makefile

# 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)