source: doc/theses/colby_parsons_MMAth/Makefile @ d5f5eb7

Last change on this file since d5f5eb7 was f496046, checked in by caparsons <caparson@…>, 11 months ago

incorporated actor and waituntil comments

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