mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-07-19 09:24:14 -05:00
- Added `figures/README.md` to explicitly define the semantic color palette used across all architectural diagrams (Cyan for Solvers, Purple for Supply, etc.) to ensure future consistency. - Updated the paper `Makefile` to permit `pdflatex` and `bibtex` to safely proceed through warnings without aborting, ensuring the final bibliography parses and renders correctly.
44 lines
1.6 KiB
Makefile
44 lines
1.6 KiB
Makefile
.PHONY: all paper svgs layout-review clean distclean
|
|
|
|
# ── Default: convert SVGs → compile paper ────────────────────
|
|
all: paper
|
|
|
|
# ── Convert SVG figures to PDF ───────────────────────────────
|
|
SVG_SOURCES = $(wildcard figures/*.svg)
|
|
SVG_PDFS = $(SVG_SOURCES:.svg=.pdf)
|
|
|
|
svgs: $(SVG_PDFS)
|
|
|
|
# Always regenerate figure PDFs from their SVG source so a stale committed
|
|
# PDF cannot mask a freshly edited SVG.
|
|
figures/%.pdf: figures/%.svg FORCE
|
|
rm -f $@
|
|
rsvg-convert -f pdf $< -o $@
|
|
|
|
FORCE:
|
|
|
|
# ── Compile paper ────────────────────────────────────────────
|
|
paper: paper.pdf
|
|
|
|
paper.pdf: paper.tex references.bib $(SVG_PDFS)
|
|
pdflatex -interaction=nonstopmode paper.tex || true
|
|
bibtex paper || true
|
|
pdflatex -interaction=nonstopmode paper.tex || true
|
|
pdflatex -interaction=nonstopmode paper.tex || true
|
|
|
|
# ── Rasterize each PDF page to PNG (layout / float debugging) ─
|
|
layout-review: paper.pdf
|
|
mkdir -p layout-review
|
|
pdftoppm -png -r 110 paper.pdf layout-review/p
|
|
|
|
# ── Clean auxiliary files ────────────────────────────────────
|
|
clean:
|
|
rm -f paper.aux paper.bbl paper.blg paper.log paper.out paper.toc
|
|
rm -f paper.fls paper.fdb_latexmk paper.synctex.gz paper.lof paper.lot
|
|
rm -rf layout-review
|
|
|
|
# ── Clean everything including PDF and generated figures ─────
|
|
distclean: clean
|
|
rm -f paper.pdf
|
|
rm -f $(SVG_PDFS)
|