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