|
1 EPSTOPDF = epstopdf |
|
2 DIA = dia |
|
3 CONVERT = convert |
|
4 |
|
5 |
|
6 SOURCE = source |
|
7 FIGURES = $(SOURCE)/figures |
|
8 |
|
9 # specify figures from which .png and .pdf figures need to be |
|
10 # generated (all dia and eps figures) |
|
11 IMAGES_EPS = |
|
12 |
|
13 # specify figures for build process (all eps figures) |
|
14 GRAPHS_EPS = |
|
15 |
|
16 # rescale pdf figures as necessary |
|
17 $(FIGURES)/testbed.pdf_width = 5in |
|
18 |
|
19 IMAGES_PNG = ${IMAGES_EPS:.eps=.png} |
|
20 IMAGES_PDF = ${IMAGES_EPS:.eps=.pdf} |
|
21 |
|
22 IMAGES = $(IMAGES_EPS) $(IMAGES_PNG) $(IMAGES_PDF) |
|
23 |
|
24 %.eps : %.dia; $(DIA) -t eps $< -e $@ |
|
25 %.png : %.dia; $(DIA) -t png $< -e $@ |
|
26 %.png : %.eps; $(CONVERT) $< $@ |
|
27 %.pdf : %.eps; $(EPSTOPDF) $< -o=$@; if test x$($@_width) != x; then TMPFILE=`mktemp`; ./rescale-pdf.sh $($@_width) $@ $${TMPFILE} && mv $${TMPFILE} $@; fi |
|
28 |
|
29 GRAPHS_PNG = ${GRAPHS_EPS:.eps=.png} |
|
30 GRAPHS_PDF = ${GRAPHS_EPS:.eps=.pdf} |
|
31 |
|
32 GRAPHS = $(GRAPHS_EPS) $(GRAPHS_PNG) $(GRAPHS_PDF) |
|
33 |
|
34 %.png : %.eps; $(CONVERT) $< $@ |
|
35 %.pdf : %.eps; $(EPSTOPDF) $< -o=$@; if test x$($@_width) != x; then TMPFILE=`mktemp`; ./rescale-pdf.sh $($@_width) $@ $${TMPFILE} && mv $${TMPFILE} $@; fi |
|
36 |
|
37 # You can set these variables from the command line. |
|
38 SPHINXOPTS = |
|
39 SPHINXBUILD = sphinx-build |
|
40 PAPER = |
|
41 BUILDDIR = build |
|
42 |
|
43 # Internal variables. |
|
44 PAPEROPT_a4 = -D latex_paper_size=a4 |
|
45 PAPEROPT_letter = -D latex_paper_size=letter |
|
46 ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCE) |
|
47 |
|
48 .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest |
|
49 |
|
50 help: |
|
51 @echo "Please use \`make <target>' where <target> is one of" |
|
52 @echo " html to make standalone HTML files" |
|
53 @echo " dirhtml to make HTML files named index.html in directories" |
|
54 @echo " singlehtml to make a single large HTML file" |
|
55 @echo " pickle to make pickle files" |
|
56 @echo " json to make JSON files" |
|
57 @echo " htmlhelp to make HTML files and a HTML help project" |
|
58 @echo " qthelp to make HTML files and a qthelp project" |
|
59 @echo " devhelp to make HTML files and a Devhelp project" |
|
60 @echo " epub to make an epub" |
|
61 @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" |
|
62 @echo " latexpdf to make LaTeX files and run them through pdflatex" |
|
63 @echo " text to make text files" |
|
64 @echo " man to make manual pages" |
|
65 @echo " changes to make an overview of all changed/added/deprecated items" |
|
66 @echo " linkcheck to check all external links for integrity" |
|
67 @echo " doctest to run all doctests embedded in the documentation (if enabled)" |
|
68 |
|
69 clean: |
|
70 -rm -rf $(BUILDDIR)/* |
|
71 -rm -f $(IMAGES_PNG) |
|
72 -rm -f $(IMAGES_PDF) |
|
73 -rm -f $(GRAPHS_PNG) |
|
74 -rm -f $(GRAPHS_PDF) |
|
75 |
|
76 frag: pickle |
|
77 @if test ! -d $(BUILDDIR)/frag; then mkdir $(BUILDDIR)/frag; fi |
|
78 pushd $(BUILDDIR)/frag && ../../pickle-to-xml.py ../pickle/index.fpickle > navigation.xml && popd |
|
79 cp -r $(BUILDDIR)/pickle/_images $(BUILDDIR)/frag |
|
80 |
|
81 html: $(IMAGES) ${GRAPHS} |
|
82 $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html |
|
83 @echo |
|
84 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." |
|
85 |
|
86 dirhtml: $(IMAGES) |
|
87 $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml |
|
88 @echo |
|
89 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." |
|
90 |
|
91 singlehtml: $(IMAGES) |
|
92 $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml |
|
93 @echo |
|
94 @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." |
|
95 |
|
96 pickle: $(IMAGES) |
|
97 $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle |
|
98 @echo |
|
99 @echo "Build finished; now you can process the pickle files." |
|
100 |
|
101 json: $(IMAGES) |
|
102 $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json |
|
103 @echo |
|
104 @echo "Build finished; now you can process the JSON files." |
|
105 |
|
106 htmlhelp: $(IMAGES) |
|
107 $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp |
|
108 @echo |
|
109 @echo "Build finished; now you can run HTML Help Workshop with the" \ |
|
110 ".hhp project file in $(BUILDDIR)/htmlhelp." |
|
111 |
|
112 qthelp: $(IMAGES) |
|
113 $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp |
|
114 @echo |
|
115 @echo "Build finished; now you can run "qcollectiongenerator" with the" \ |
|
116 ".qhcp project file in $(BUILDDIR)/qthelp, like this:" |
|
117 @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ns-3.qhcp" |
|
118 @echo "To view the help file:" |
|
119 @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ns-3.qhc" |
|
120 |
|
121 devhelp: $(IMAGES) |
|
122 $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp |
|
123 @echo |
|
124 @echo "Build finished." |
|
125 @echo "To view the help file:" |
|
126 @echo "# mkdir -p $$HOME/.local/share/devhelp/ns-3" |
|
127 @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ns-3" |
|
128 @echo "# devhelp" |
|
129 |
|
130 epub: $(IMAGES) |
|
131 $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub |
|
132 @echo |
|
133 @echo "Build finished. The epub file is in $(BUILDDIR)/epub." |
|
134 |
|
135 latex: $(IMAGES) ${GRAPHS} |
|
136 $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
|
137 @echo |
|
138 @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." |
|
139 @echo "Run \`make' in that directory to run these through (pdf)latex" \ |
|
140 "(use \`make latexpdf' here to do that automatically)." |
|
141 |
|
142 latexpdf: $(IMAGES) ${GRAPHS} |
|
143 $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
|
144 @echo "Running LaTeX files through pdflatex..." |
|
145 make -C $(BUILDDIR)/latex all-pdf |
|
146 @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." |
|
147 |
|
148 text: $(IMAGES) |
|
149 $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text |
|
150 @echo |
|
151 @echo "Build finished. The text files are in $(BUILDDIR)/text." |
|
152 |
|
153 man: $(IMAGES) |
|
154 $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man |
|
155 @echo |
|
156 @echo "Build finished. The manual pages are in $(BUILDDIR)/man." |
|
157 |
|
158 changes: $(IMAGES) |
|
159 $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes |
|
160 @echo |
|
161 @echo "The overview file is in $(BUILDDIR)/changes." |
|
162 |
|
163 linkcheck: $(IMAGEs) |
|
164 $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck |
|
165 @echo |
|
166 @echo "Link check complete; look for any errors in the above output " \ |
|
167 "or in $(BUILDDIR)/linkcheck/output.txt." |
|
168 |
|
169 doctest: $(IMAGES) |
|
170 $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest |
|
171 @echo "Testing of doctests in the sources finished, look at the " \ |
|
172 "results in $(BUILDDIR)/doctest/output.txt." |
|
173 |
|
174 |