[d697527] | 1 | ## Define the configuration variables.
|
---|
| 2 |
|
---|
| 3 | Build = build
|
---|
| 4 | Figures = figures
|
---|
| 5 | TeXLIB = .:../../LaTeXmacros:${Build}:
|
---|
| 6 | LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
|
---|
| 7 | BibTeX = BIBINPUTS=../../bibliography: && export BIBINPUTS && bibtex
|
---|
| 8 |
|
---|
| 9 | MAKEFLAGS = --no-print-directory # --silent
|
---|
| 10 | VPATH = ${Build} ${Figures}
|
---|
| 11 |
|
---|
| 12 | ## Define the text source files.
|
---|
| 13 |
|
---|
| 14 | SOURCES = ${addsuffix .tex, \
|
---|
| 15 | Paper \
|
---|
| 16 | }
|
---|
| 17 |
|
---|
| 18 | FIGURES = ${addsuffix .tex, \
|
---|
| 19 | AllocatorComponents \
|
---|
| 20 | AllocatedObject \
|
---|
| 21 | IntExtFragmentation \
|
---|
| 22 | MemoryFragmentation \
|
---|
| 23 | ContigFragmentation \
|
---|
| 24 | NonContigFragmentation \
|
---|
| 25 | ProgramFalseSharing \
|
---|
| 26 | AllocInducedActiveFalseSharing \
|
---|
| 27 | AllocInducedPassiveFalseSharing \
|
---|
| 28 | SingleHeap \
|
---|
| 29 | SharedHeaps \
|
---|
| 30 | PerThreadHeap \
|
---|
| 31 | MultipleHeapsStorage \
|
---|
| 32 | UserKernelHeaps \
|
---|
| 33 | MultipleHeapsOwnership \
|
---|
| 34 | MultipleHeapsNoOwnership \
|
---|
| 35 | ObjectHeaders \
|
---|
| 36 | Container \
|
---|
| 37 | ContainerNoOwnershipFreelist \
|
---|
| 38 | ContainerOwnershipFreelist \
|
---|
| 39 | ContainerFalseSharing1 \
|
---|
| 40 | ContainerFalseSharing2 \
|
---|
| 41 | ContainerNoOwnership \
|
---|
| 42 | ContainerOwnership \
|
---|
| 43 | SuperContainers \
|
---|
| 44 | FreeListAmongContainers \
|
---|
| 45 | FreeListWithinContainers \
|
---|
| 46 | PrivatePublicHeaps \
|
---|
| 47 | AllocDS1 \
|
---|
| 48 | AllocDS2 \
|
---|
| 49 | llheap \
|
---|
| 50 | Alignment1 \
|
---|
| 51 | Alignment2 \
|
---|
| 52 | Alignment2Impl \
|
---|
| 53 | FakeHeader \
|
---|
| 54 | Header \
|
---|
[73475a5] | 55 | decreasing \
|
---|
| 56 | increasing \
|
---|
[d697527] | 57 | }
|
---|
| 58 |
|
---|
| 59 | PICTURES = ${addsuffix .pstex, \
|
---|
[7a29392f] | 60 | AddressSpace \
|
---|
[d697527] | 61 | MultipleHeapsOwnershipStorage \
|
---|
| 62 | PrivatePublicHeaps \
|
---|
| 63 | RemoteFreeList \
|
---|
| 64 | }
|
---|
| 65 |
|
---|
| 66 | PROGRAMS = ${addsuffix .tex, \
|
---|
| 67 | }
|
---|
| 68 |
|
---|
| 69 | GRAPHS = ${addsuffix .tex, \
|
---|
[73475a5] | 70 | prolog \
|
---|
| 71 | swift \
|
---|
| 72 | java \
|
---|
[d697527] | 73 | }
|
---|
| 74 |
|
---|
[73475a5] | 75 | #prolog \
|
---|
| 76 |
|
---|
[d697527] | 77 | ## Define the documents that need to be made.
|
---|
| 78 |
|
---|
| 79 | DOCUMENT = Paper.pdf
|
---|
| 80 | BASE = ${basename ${DOCUMENT}}
|
---|
| 81 |
|
---|
| 82 | # Directives #
|
---|
| 83 |
|
---|
| 84 | .PHONY : all clean # not file names
|
---|
| 85 |
|
---|
| 86 | all : ${DOCUMENT}
|
---|
| 87 |
|
---|
| 88 | clean :
|
---|
[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 |
|
---|
| 118 | WileyNJD-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] | 131 | testgenfmt : testgenfmt.cc
|
---|
| 132 | g++ testgenfmt.cc -o $@
|
---|
| 133 |
|
---|
| 134 | testgenfmt2 : 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 |
|
---|
| 145 | swift/testdata.exp : swift/testgen.data testgenfmt2.cc
|
---|
| 146 | ./testgenfmt2 < $<
|
---|
| 147 |
|
---|
| 148 | #prolog/testdata.lexp : prolog/testgen.ldata testgenfmt.cc
|
---|
| 149 | # ./testgenfmt < $<
|
---|
| 150 |
|
---|
| 151 | prolog/testdata.exp : prolog/testgen.data testgenfmt2.cc
|
---|
| 152 | ./testgenfmt2 < $<
|
---|
| 153 |
|
---|
| 154 | #java/testdata.lexp : java/testgen.ldata testgenfmt.cc
|
---|
| 155 | # ./testgenfmt < $<
|
---|
| 156 |
|
---|
| 157 | java/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: #
|
---|