summaryrefslogtreecommitdiffstatshomepage
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile93
1 files changed, 9 insertions, 84 deletions
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