PolyPaper/Makefile

50 lines
1.7 KiB
Makefile
Executable File

VENUE ?= arxiv
JOB ?= paper-$(VENUE)
all: $(JOB).pdf
$(JOB).pdf: paper.org setup/venue-$(VENUE).org build.el biblio.bib
emacs -Q --batch -l build.el --eval "(setenv \"VENUE\" \"$(VENUE)\")" --funcall wes/export-pdf-cli
site:
emacs -Q --batch -l build.el --eval "(setenv \"VENUE\" \"$(VENUE)\")" --funcall wes/publish-site-cli
@echo "HTML written to public/ (paper.org → public/paper.html)"
supplement:
emacs -Q --batch -l build.el --eval "(setenv \"VENUE\" \"$(VENUE)\")" --funcall wes/export-supplement-pdf-cli
camera-ready:
emacs -Q --batch -l build.el --eval "(setenv \"VENUE\" \"$(VENUE)\")" --funcall wes/export-camera-ready-pdf-cli
clean:
latexmk -C
rm -f paper-*.pdf
debug:
emacs -Q --batch -l build.el --eval "(setenv \"VENUE\" \"$(VENUE)\")" \
--eval "(with-current-buffer (find-file-noselect \"paper.org\") (wes--inject-setupfile \"$(VENUE)\") (org-latex-export-to-latex))"
latexmk -C
latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode -shell-escape paper.tex || true
@echo "---- paper.log (tail) ----"
@tail -n 200 paper.log || true
# Dockerized builds
DOCKER_IMAGE ?= polypaper:full
DOCKERFILE ?= Dockerfile.full
build-image:
docker build -f $(DOCKERFILE) -t $(DOCKER_IMAGE) .
docker:
docker run --rm -u $$(id -u):$$(id -g) -v $$(pwd):/work -w /work $(DOCKER_IMAGE) bash -lc "make VENUE=$(VENUE)"
docker-supplement:
docker run --rm -u $$(id -u):$$(id -g) -v $$(pwd):/work -w /work $(DOCKER_IMAGE) bash -lc "make supplement VENUE=$(VENUE)"
docker-camera-ready:
docker run --rm -u $$(id -u):$$(id -g) -v $$(pwd):/work -w /work $(DOCKER_IMAGE) bash -lc "make camera-ready VENUE=$(VENUE)"
docker-site:
docker run --rm -u $$(id -u):$$(id -g) -v $$(pwd):/work -w /work $(DOCKER_IMAGE) bash -lc "make site VENUE=$(VENUE)"