PolyPaper/Makefile

41 lines
1.4 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
# 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)"