source: doc/theses/colby_parsons_MMAth/Makefile@ 6e83384

ADT ast-experimental
Last change on this file since 6e83384 was 6e83384, checked in by caparsons <caparson@…>, 2 years ago

did more editing, finished first draft of mutex stmt and channel chapters, added brief intro

  • Property mode set to 100644
File size: 4.1 KB
Line 
1## Define the configuration variables.
2
3Build = build
4Figures = figures
5Macros = ../../LaTeXmacros
6TeXLIB = .:style:text:${Macros}:${Build}:../../bibliography:
7LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
8BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex -terse
9
10MAKEFLAGS = --no-print-directory --silent #
11VPATH = ${Build} ${Figures}
12
13## Define the text source files.
14
15SOURCES = ${addsuffix .tex, \
16 text/CFA_intro \
17 text/actors \
18 text/frontpgs \
19 text/CFA_concurrency \
20 thesis \
21 text/mutex_stmt \
22 text/channels \
23}
24
25FIGURES = ${addsuffix .pgf, \
26 figures/pykeExecutor \
27 figures/pykeCFAExecutor \
28 figures/nasusExecutor \
29 figures/nasusCFAExecutor \
30 figures/pykeMatrix \
31 figures/pykeCFAMatrix \
32 figures/nasusMatrix \
33 figures/nasusCFAMatrix \
34 figures/pykeRepeat \
35 figures/pykeCFARepeat \
36 figures/nasusRepeat \
37 figures/nasusCFARepeat \
38 figures/pykeCFABalance-One \
39 figures/nasusCFABalance-One \
40 figures/pykeCFABalance-Multi \
41 figures/nasusCFABalance-Multi \
42 figures/pyke_Aggregate_Lock_2 \
43 figures/pyke_Aggregate_Lock_4 \
44 figures/pyke_Aggregate_Lock_8 \
45 figures/nasus_Aggregate_Lock_2 \
46 figures/nasus_Aggregate_Lock_4 \
47 figures/nasus_Aggregate_Lock_8 \
48 figures/nasus_Channel_Contention \
49 figures/pyke_Channel_Contention \
50}
51
52DATA = data/pykeSendStatic \
53 data/pykeSendDynamic \
54 data/pykeExecutorMem \
55 data/nasusSendStatic \
56 data/nasusSendDynamic \
57 data/pykeExecutorMem \
58
59PICTURES = ${addsuffix .tikz, \
60 diagrams/standard_actor \
61 diagrams/inverted_actor \
62 diagrams/gulp \
63 diagrams/chain_swap \
64 diagrams/M_to_one_swap \
65 diagrams/acyclic_swap \
66 diagrams/cyclic_swap \
67}
68
69PROGRAMS = ${addsuffix .tex, \
70}
71
72GRAPHS = ${addsuffix .tex, \
73}
74
75## Define the documents that need to be made.
76
77DOCUMENT = thesis.pdf
78BASE = ${basename ${DOCUMENT}}
79
80# Directives #
81
82.PHONY : all clean # not file names
83
84all : ${DOCUMENT}
85
86clean :
87 @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
88
89# File Dependencies #
90
91${DOCUMENT} : ${BASE}.ps
92 ps2pdf $<
93
94${BASE}.ps : ${BASE}.dvi
95 dvips ${Build}/$< -o $@
96
97${BASE}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} ${DATA} \
98 ${Macros}/common.tex ${Macros}/indexstyle local.bib ../../bibliography/pl.bib | ${Build}
99 # Must have *.aux file containing citations for bibtex
100 if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
101 -${BibTeX} ${Build}/${basename $@}
102 # Some citations reference others so run again to resolve these citations
103 ${LaTeX} ${basename $@}.tex
104 -${BibTeX} ${Build}/${basename $@}
105 # Make index from *.aux entries and input index at end of document
106 makeglossaries -q -s ${Build}/${basename $@}.ist ${Build}/${basename $@}
107 -version.sh
108 # Run again to finish citations
109 ${LaTeX} ${basename $@}.tex
110
111
112## Define the default recipes.
113
114${Build}:
115 mkdir -p ${Build}
116
117%.tex : %.fig ${Build}
118 fig2dev -L eepic $< > ${Build}/$@
119
120%.ps : %.fig | ${Build}
121 fig2dev -L ps $< > ${Build}/$@
122
123%.pstex : %.fig | ${Build}
124 fig2dev -L pstex $< > ${Build}/$@
125 fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
126
127#-----------------------------------------------------------------------------------
128# Tools to generate png files
129# to create a png we create a pdf and convert it to png
130%.png : build/%.pstex figures/%.tex ${Build}
131 echo ${basename $@}
132 ${LaTeX} figures/${basename $@}.tex
133 dvips build/${basename $@}.dvi -o build/${basename $@}.ps
134 ps2pdf build/${basename $@}.ps
135 convert -negate ${basename $@}.pdf $@
136
137# creating a pdf of a figure requires generating some latex that just includes the figure
138figures/%.tex: build/%.pstex ${Build}
139 echo -n "\documentclass[preview]{standalone}\n" \
140 "\usepackage[T1]{fontenc}\n" \
141 "\usepackage[usenames]{color}\n" \
142 "\usepackage{graphicx}\n" \
143 "\usepackage{listings}\n" \
144 "\usepackage{xspace}\n" \
145 "\input{style}\n" \
146 "\\\\begin{document}\n" \
147 "{\\\\resizebox{3\\\\textwidth}{!}{\input{${basename ${notdir $@}}.pstex_t}}}\n" \
148 "\end{document}" > $@
149
150data/%: ;
151%.tikz: ;
152%.pgf: ;
153
154# Local Variables: #
155# compile-command: "make" #
156# End: #
Note: See TracBrowser for help on using the repository browser.