1 | ## Define the configuration variables.
|
---|
2 |
|
---|
3 | MODULES = \
|
---|
4 | string
|
---|
5 |
|
---|
6 | Build ?= build
|
---|
7 | Macros ?= ../../LaTeXmacros
|
---|
8 | PLBib ?= ../../bibliography
|
---|
9 |
|
---|
10 | MODULE_PHONIES = ${addsuffix .module,$(MODULES)}
|
---|
11 | MODULE_BUILDDIRS = ${addprefix $(Build)/,$(MODULES)}
|
---|
12 |
|
---|
13 | TeXLIB = .:${Macros}:${Build}:${MODULE_BUILDDIRS}:${PLBib}:
|
---|
14 | LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
|
---|
15 | pdfLaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && pdflatex -halt-on-error -output-directory=${Build}
|
---|
16 | BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex
|
---|
17 |
|
---|
18 | MAKEFLAGS = --no-print-directory # --silent
|
---|
19 |
|
---|
20 |
|
---|
21 |
|
---|
22 | ## Define the documents that need to be made.
|
---|
23 | all: thesis.pdf
|
---|
24 | thesis.pdf: ${MODULE_PHONIES} thesis.tex glossary.tex $(Macros)/common.tex $(Macros)/common.sty # local.bib
|
---|
25 |
|
---|
26 | DOCUMENT = thesis.pdf
|
---|
27 | BASE = ${basename ${DOCUMENT}}
|
---|
28 |
|
---|
29 | # Directives #
|
---|
30 |
|
---|
31 | .NOTPARALLEL: # cannot make in parallel
|
---|
32 |
|
---|
33 | .PHONY : all clean %.module # not file names
|
---|
34 |
|
---|
35 | all : ${DOCUMENT}
|
---|
36 |
|
---|
37 | clean :
|
---|
38 | @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
|
---|
39 |
|
---|
40 | # File Dependencies #
|
---|
41 |
|
---|
42 | # %.pdf : build/%.ps | ${Build}
|
---|
43 | # ps2pdf $<
|
---|
44 |
|
---|
45 | # build/%.ps : build/%.dvi | ${Build}
|
---|
46 | # dvips $< -o $@
|
---|
47 |
|
---|
48 | # build/%.dvi : %.tex Makefile | ${Build}
|
---|
49 | # # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
|
---|
50 | # if [ ! -r ${basename $@}.ind ] ; then touch ${basename $@}.ind ; fi
|
---|
51 | # # Must have *.aux file containing citations for bibtex
|
---|
52 | # if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} $< ; fi
|
---|
53 | # -${BibTeX} ${basename $@}
|
---|
54 | # # Some citations reference others so run again to resolve these citations
|
---|
55 | # ${LaTeX} $<
|
---|
56 | # -${BibTeX} ${basename $@}
|
---|
57 | # # Make index from *.aux entries and input index at end of document
|
---|
58 | # -makeglossaries -q -s ${basename $@}.ist ${basename $@}
|
---|
59 | # # Make index from *.aux entries and input index at end of document
|
---|
60 | # -makeindex ${basename $@}.idx
|
---|
61 | # # Run again to finish citations
|
---|
62 | # ${LaTeX} $<
|
---|
63 |
|
---|
64 | %.pdf : %.tex | ${Build}
|
---|
65 | ${pdfLaTeX} $<
|
---|
66 | cp ${Build}/$@ $@
|
---|
67 |
|
---|
68 | ${Build}:
|
---|
69 | mkdir -p ${Build}
|
---|
70 |
|
---|
71 | %.module: content/%
|
---|
72 | $(MAKE) -C $< BuildBase=../../$(Build)
|
---|