source: doc/theses/thierry_delisle_PhD/thesis/Makefile@ 5ce9bea

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation new-ast-unique-expr pthread-emulation qualifiedEnum stuck-waitfor-destruct
Last change on this file since 5ce9bea was 5ce9bea, checked in by Thierry Delisle <tdelisle@…>, 5 years ago

Added missing rules to thesis makefile.

  • Property mode set to 100644
File size: 3.1 KB
Line 
1## Define the configuration variables.
2
3Build = build
4Figures = img
5Macros = ../../../LaTeXmacros
6TeXLIB = .:${Macros}:${Build}:../../../bibliography:
7LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
8BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex
9
10MAKEFLAGS = --no-print-directory --silent
11VPATH = ${Build} ${Figures}
12
13## Define the text source files.
14TEXTS = ${addprefix text/, ${addsuffix .tex, \
15 front \
16 intro \
17 existing \
18 runtime \
19 core \
20 practice \
21 io \
22}}
23
24FIGURES = ${addsuffix .tex, \
25}
26
27PICTURES = ${addsuffix .pstex, \
28 base \
29 empty \
30 emptybit \
31 emptytls \
32 emptytree \
33 fairness \
34 io_uring \
35 pivot_ring \
36 system \
37}
38
39PROGRAMS = ${addsuffix .tex, \
40}
41
42GRAPHS = ${addsuffix .tex, \
43}
44
45## Define the documents that need to be made.
46all: thesis.pdf
47thesis.pdf: ${TEXTS} ${FIGURES} ${PICTURES} thesis.tex glossary.tex local.bib
48
49DOCUMENT = thesis.pdf
50BASE = ${basename ${DOCUMENT}}
51
52# Directives #
53
54.PHONY : all clean # not file names
55
56all : ${DOCUMENT}
57
58clean :
59 @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
60
61# File Dependencies #
62
63%.pdf : build/%.ps | ${Build}
64 ps2pdf $<
65
66build/%.ps : build/%.dvi | ${Build}
67 dvips $< -o $@
68
69build/%.dvi : %.tex Makefile | ${Build}
70 # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
71 if [ ! -r ${basename $@}.ind ] ; then touch ${basename $@}.ind ; fi
72 # Must have *.aux file containing citations for bibtex
73 if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} $< ; fi
74 -${BibTeX} ${basename $@}
75 # Some citations reference others so run again to resolve these citations
76 ${LaTeX} $<
77 -${BibTeX} ${basename $@}
78 # Make index from *.aux entries and input index at end of document
79 -makeglossaries -q -s ${basename $@}.ist ${basename $@}
80 # Make index from *.aux entries and input index at end of document
81 -makeindex ${basename $@}.idx
82 # Run again to finish citations
83 ${LaTeX} $<
84
85build/fairness.svg : fig/fairness.py | ${Build}
86 python3 $< $@
87
88## Define the default recipes.
89
90${Build}:
91 mkdir -p ${Build}
92
93%.tex : fig/%.fig | ${Build}
94 fig2dev -L eepic $< > ${Build}/$@
95
96%.ps : fig/%.fig | ${Build}
97 fig2dev -L ps $< > ${Build}/$@
98
99%.pstex : fig/%.fig | ${Build}
100 fig2dev -L pstex $< > ${Build}/$@
101 fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
102
103%.pstex : build/%.svg | ${Build}
104 inkscape -z -D --file=$< --export-eps=${Build}/$@ --export-latex
105 mv ${Build}/$@_tex ${Build}/$@_t
106 echo "sed -i 's/$@/${Build}/$@/g' ${Build}/$@_t"
107 sed -i 's/$@/${Build}\/$@/g' ${Build}/$@_t
108
109build/fairness.svg: fig/fairness.py | ${Build}
110 python3 fig/fairness.py build/fairness.svg
111
112## pstex with inverted colors
113%.dark.pstex : fig/%.fig Makefile | ${Build}
114 fig2dev -L pstex $< > ${Build}/$@
115 sed -i 's/\/col-1 {0 setgray} bind def/\/col-1 {1 setgray} bind def/g' ${Build}/$@
116 sed -i 's/\/col0 {0.000 0.000 0.000 srgb} bind def/\/col0 {1.000 1.000 1.000 srgb} bind def/g' ${Build}/$@
117 sed -i 's/\/col7 {1.000 1.000 1.000 srgb} bind def/\/col7 {0.000 0.000 0.000 srgb} bind def/g' ${Build}/$@
118 fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
119
120# Local Variables: #
121# compile-command: "make" #
122# End: #
Note: See TracBrowser for help on using the repository browser.