GO := $(shell which go)
ifeq (, $(GO))
	$(error "Required Go toolchain (go) not in $(PATH).")
endif

PAGES := $(sort $(wildcard pages/*.html)) pages.yaml

.PHONY: serve build clean

build: dist/index.stamp

dist/index.stamp: $(PAGES) templates/base.gohtml templates/index.gohtml templates/print.gohtml templates/print_2up.gohtml cmd/build/main.go
	@$(GO) run ./cmd/build
	@mkdir -p dist
	@date +%s > dist/index.stamp

serve: build
	xdg-open "http://localhost:8000" || true
	python -m http.server

PDF := dist/output.pdf
PDF_2UP := dist/output-2up.pdf

.PHONY: deps
deps:
	@$(GO) mod tidy

.PHONY: pdf
pdf: build deps
	@echo "Generating PDF with headless Chrome..."
	@$(GO) run ./cmd/pdf --in dist/print.html --out $(PDF)

.PHONY: pdf-2up
pdf-2up: build deps
	@echo "Generating 2-up PDF with headless Chrome..."
	@$(GO) run ./cmd/pdf --in dist/print_2up.html --out $(PDF_2UP) --w 11 --h 8.5

clean:
	rm -rf dist index.html

