# =========================
# Core configuration
# =========================

OUTDIR     := output

META_BASE  := metadata/base.yaml

TIMESTAMP  := $(shell date +"%y%m%d-%H%M%S")

PDF_OUT    := $(OUTDIR)/pdf/book-$(TIMESTAMP).pdf
HTML_OUT   := $(OUTDIR)/html/book-$(TIMESTAMP).html
EPUB_OUT   := $(OUTDIR)/epub/book-$(TIMESTAMP).epub

# Common Pandoc flags (structure-related, not styling)
PANDOC_COMMON := \
	--standalone \
	--embed-resources \
	--number-sections \
	--toc \
	--toc-depth=3 \
	--metadata-file=$(META_BASE)

# =========================
# Phony targets
# =========================

.PHONY: all pdf html epub clean

all: pdf html epub

pdf: $(PDF_OUT)
html: $(HTML_OUT)
epub: $(EPUB_OUT)

# =========================
# Build rules
# =========================

$(PDF_OUT): source/vB05-pdf.md $(META_BASE) metadata/pdf.yaml styles/pdf.css
	mkdir -p $(OUTDIR)
	pandoc source/vB05-pdf.md \
	  --metadata=metadata/pdf.yaml \
	  $(PANDOC_COMMON) \
	  --css=styles/pdf.css \
	  --pdf-engine=weasyprint \
	  -o $@

$(HTML_OUT): source/vB05-html.md $(META_BASE) styles/html.css
	mkdir -p $(OUTDIR)
	pandoc source/vB05-html.md \
	  $(PANDOC_COMMON) \
	  --css=styles/html.css \
	  -o $@

$(EPUB_OUT): source/vB05-epub.md $(META_BASE) metadata/epub.yaml styles/epub.css
	mkdir -p $(OUTDIR)
	pandoc source/vB05-epub.md \
	  $(PANDOC_COMMON) \
	  --metadata=metadata/epub.yaml \
	  --epub-cover-image="images/front_cover.png" \
	  --css=styles/epub.css \
	  -o $@

# =========================
# Cleanup
# =========================

clean:
	rm -rf $(OUTDIR)

