source: doc/theses/colby_parsons_MMAth/Makefile @ 75d874a

ADTast-experimental
Last change on this file since 75d874a was 0faacb8, checked in by caparsons <caparson@…>, 20 months ago

various additions to thesis, finished first draft of actor chapter (lots of polish needed), added first draft of intro to CFA features & intro to CFA threading, added start of mutex stmt chapter

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