From e60e28912bdfb7c695c963313a9fae987ae955a7 Mon Sep 17 00:00:00 2001 From: Luke Hsiao Date: Thu, 23 Aug 2018 13:31:57 -0700 Subject: Add 2018 Q4 Calendar --- Makefile | 93 +++++++--------------------------------------------------------- 1 file changed, 9 insertions(+), 84 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 9fd2454..8b80dff 100644 --- a/Makefile +++ b/Makefile @@ -1,84 +1,9 @@ -### latex.makefile - -# Targets: -# default : compiles the document to a PDF file using the defined -# latex generating engine. (pdflatex, xelatex, etc) -# display : displays the compiled document in a common PDF viewer. -# (currently linux = evince, OSX = open) -# clean : removes the build/ directory holding temporary files - - -PROJECT = pa2cal - -default: build/$(PROJECT).pdf - -display: default - (${PDFVIEWER} build/$(PROJECT).pdf &) - - -### Compilation Flags -PDFLATEX_FLAGS = -halt-on-error -output-directory build/ - -TEXINPUTS = .:build/ -TEXMFOUTPUT = build/ - - -### File Types (for dependancies -TEX_FILES = $(shell find . -name '*.tex' -or -name '*.sty' -or -name '*.cls') -BIB_FILES = $(shell find . -name '*.bib') -BST_FILES = $(shell find . -name '*.bst') -IMG_FILES = $(shell find . -path '*.jpg' -or -path '*.png' -or \( \! -path './build/*.pdf' -path '*.pdf' \) ) - - -### Standard PDF Viewers -# Defines a set of standard PDF viewer tools to use when displaying the result -# with the display target. Currently chosen are defaults which should work on -# most linux systems with GNOME installed and on all OSX systems. - -UNAME := $(shell uname) - -ifeq ($(UNAME), Linux) -PDFVIEWER = evince -endif - -ifeq ($(UNAME), Darwin) -PDFVIEWER = open -endif - - -### Clean -# This target cleans the temporary files generated by the tex programs in -# use. All temporary files generated by this makefile will be placed in build/ -# so cleanup is easy. - -clean:: - rm -rf build/ - -### Core Latex Generation -# Performs the typical build process for latex generations so that all -# references are resolved correctly. If adding components to this run-time -# always take caution and implement the worst case set of commands. -# Example: latex, bibtex, latex, latex -# -# Note the use of order-only prerequisites (prerequisites following the |). -# Order-only prerequisites do not effect the target -- if the order-only -# prerequisite has changed and none of the normal prerequisites have changed -# then this target IS NOT run. -# -# In order to function for projects which use a subset of the provided features -# it is important to verify that optional dependancies exist before calling a -# target; for instance, see how bibliography files (.bbl) are handled as a -# dependency. - -build/: - mkdir -p build/ - -build/$(PROJECT).aux: $(TEX_FILES) $(IMG_FILES) | build/ - pdflatex $(PDFLATEX_FLAGS) $(PROJECT) - -build/$(PROJECT).bbl: $(BIB_FILES) | build/$(PROJECT).aux - bibtex build/$(PROJECT) - pdflatex $(PDFLATEX_FLAGS) $(PROJECT) - -build/$(PROJECT).pdf: build/$(PROJECT).aux $(if $(BIB_FILES), build/$(PROJECT).bbl) - pdflatex $(PDFLATEX_FLAGS) $(PROJECT) +SRC=$(wildcard *.tex) +PDF=$(SRC:.tex=.pdf) + +all: $(PDF) +%.pdf: %.tex + latexmk -outdir=build --pdf $< + latexmk -outdir=build -c + write-good $< || true +clean: ; latexmk -outdir=build -C; rm -f build/*.bbl -- cgit v1.2.3