source: doc/papers/llheap/Makefile

Last change on this file was 73475a5, checked in by Peter A. Buhr <pabuhr@…>, 4 weeks ago

updates for llheap paper

  • Property mode set to 100644
File size: 3.8 KB
RevLine 
[d697527]1## Define the configuration variables.
2
3Build = build
4Figures = figures
5TeXLIB = .:../../LaTeXmacros:${Build}:
6LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
7BibTeX = BIBINPUTS=../../bibliography: && export BIBINPUTS && bibtex
8
9MAKEFLAGS = --no-print-directory # --silent
10VPATH = ${Build} ${Figures}
11
12## Define the text source files.
13
14SOURCES = ${addsuffix .tex, \
15Paper \
16}
17
18FIGURES = ${addsuffix .tex, \
19AllocatorComponents \
20AllocatedObject \
21IntExtFragmentation \
22MemoryFragmentation \
23ContigFragmentation \
24NonContigFragmentation \
25ProgramFalseSharing \
26AllocInducedActiveFalseSharing \
27AllocInducedPassiveFalseSharing \
28SingleHeap \
29SharedHeaps \
30PerThreadHeap \
31MultipleHeapsStorage \
32UserKernelHeaps \
33MultipleHeapsOwnership \
34MultipleHeapsNoOwnership \
35ObjectHeaders \
36Container \
37ContainerNoOwnershipFreelist \
38ContainerOwnershipFreelist \
39ContainerFalseSharing1 \
40ContainerFalseSharing2 \
41ContainerNoOwnership \
42ContainerOwnership \
43SuperContainers \
44FreeListAmongContainers \
45FreeListWithinContainers \
46PrivatePublicHeaps \
47AllocDS1 \
48AllocDS2 \
49llheap \
50Alignment1 \
51Alignment2 \
52Alignment2Impl \
53FakeHeader \
54Header \
[73475a5]55decreasing \
56increasing \
[d697527]57}
58
59PICTURES = ${addsuffix .pstex, \
[7a29392f]60AddressSpace \
[d697527]61MultipleHeapsOwnershipStorage \
62PrivatePublicHeaps \
63RemoteFreeList \
64}
65
66PROGRAMS = ${addsuffix .tex, \
67}
68
69GRAPHS = ${addsuffix .tex, \
[73475a5]70prolog \
71swift \
72java \
[d697527]73}
74
[73475a5]75#prolog \
76
[d697527]77## Define the documents that need to be made.
78
79DOCUMENT = Paper.pdf
80BASE = ${basename ${DOCUMENT}}
81
82# Directives #
83
84.PHONY : all clean # not file names
85
86all : ${DOCUMENT}
87
88clean :
[73475a5]89 @rm -frv ${DOCUMENT} testgenfmt testgenfmt2 ${BASE}.ps WileyNJD-AMA.bst ${BASE}.out.ps ${Build}
[d697527]90
91# File Dependencies #
92
93${DOCUMENT} : ${BASE}.ps
94 ps2pdf $<
95
96${BASE}.ps : ${BASE}.dvi
97 dvips ${Build}/$< -o $@
98
[73475a5]99${BASE}.dvi : Makefile ${BASE}.out.ps WileyNJD-AMA.bst testgenfmt testgenfmt2 ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
[d697527]100 local.bib ../../bibliography/pl.bib | ${Build}
101 # Must have *.aux file containing citations for bibtex
102 if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
103 -${BibTeX} ${Build}/${basename $@}
104 # Some citations reference others so run again to resolve these citations
105 ${LaTeX} ${basename $@}.tex
106 -${BibTeX} ${Build}/${basename $@}
107 # Run again to finish citations
108 ${LaTeX} ${basename $@}.tex
109
110## Define the default recipes.
111
112${Build} :
113 mkdir -p ${Build}
114
115${BASE}.out.ps : | ${Build}
116 ln -fs ${Build}/Paper.out.ps .
117
118WileyNJD-AMA.bst :
119 ln -fs ../AMA/AMA-stix/ama/WileyNJD-AMA.bst .
120
121%.tex : %.fig | ${Build}
122 fig2dev -L eepic $< > ${Build}/$@
123
124%.ps : %.fig | ${Build}
125 fig2dev -L ps $< > ${Build}/$@
126
127%.pstex : %.fig | ${Build}
128 fig2dev -L pstex $< > ${Build}/$@
129 fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
130
[73475a5]131testgenfmt : testgenfmt.cc
132 g++ testgenfmt.cc -o $@
133
134testgenfmt2 : testgenfmt2.cc
135 g++ testgenfmt2.cc -o $@
136
137#${addsuffix /testdata, ${basename ${GRAPHS}}} : ${addsuffix /testgen, ${basename ${GRAPHS}}}
138# echo ${addsuffix /testdata, ${basename ${GRAPHS}}}
139# echo ${addsuffix /testgen, ${basename ${GRAPHS}}}
140# testgenfmt < $< > $@
141
142#swift/testdata.lexp : swift/testgen.ldata testgenfmt.cc
143# ./testgenfmt < $<
144
145swift/testdata.exp : swift/testgen.data testgenfmt2.cc
146 ./testgenfmt2 < $<
147
148#prolog/testdata.lexp : prolog/testgen.ldata testgenfmt.cc
149# ./testgenfmt < $<
150
151prolog/testdata.exp : prolog/testgen.data testgenfmt2.cc
152 ./testgenfmt2 < $<
153
154#java/testdata.lexp : java/testgen.ldata testgenfmt.cc
155# ./testgenfmt < $<
156
157java/testdata.exp : java/testgen.data testgenfmt2.cc
158 ./testgenfmt2 < $<
159
160${GRAPHS} : Makefile plotexp.gp plotres.gp ${addsuffix /testdata.exp, ${basename ${GRAPHS}}}
161 gnuplot -e GRAPH="'${basename $@}'" plotexp.gp
162 gnuplot -e GRAPH="'${basename $@}'" plotres.gp
163
[d697527]164# Local Variables: #
165# compile-command: "make" #
166# End: #
Note: See TracBrowser for help on using the repository browser.