]>
Commit | Line | Data |
---|---|---|
4312e020 BK |
1 | ## Makefile for the doc subdirectory of the GNU C++ Standard library. |
2 | ## | |
99dee823 | 3 | ## Copyright (C) 2008-2021 Free Software Foundation, Inc. |
4312e020 BK |
4 | ## |
5 | ## This file is part of the libstdc++ version 3 distribution. | |
6 | ## Process this file with automake to produce Makefile.in. | |
7 | ||
8 | ## This file is part of the GNU ISO C++ Library. This library is free | |
9 | ## software; you can redistribute it and/or modify it under the | |
10 | ## terms of the GNU General Public License as published by the | |
748086b7 | 11 | ## Free Software Foundation; either version 3, or (at your option) |
4312e020 BK |
12 | ## any later version. |
13 | ||
14 | ## This library is distributed in the hope that it will be useful, | |
15 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | ## GNU General Public License for more details. | |
18 | ||
19 | ## You should have received a copy of the GNU General Public License along | |
748086b7 JJ |
20 | ## with this library; see the file COPYING3. If not see |
21 | ## <http://www.gnu.org/licenses/>. | |
4312e020 BK |
22 | |
23 | include $(top_srcdir)/fragment.am | |
24 | ||
03a32789 BK |
25 | # Documentation Overview |
26 | # | |
b25e6b79 | 27 | # There are two main input materials for libstdc++ documentation. |
5bca11c4 | 28 | # The first is the doxygen markup in libstdc++ sources, which is a |
b25e6b79 | 29 | # reference to the API. And the second is the manual, via docbook markup in |
5bca11c4 | 30 | # doc/xml/. |
7d8cafcd | 31 | # |
b25e6b79 BK |
32 | # A third and more obscure option deals with charting performance |
33 | # tests, and should be considered experimental. | |
34 | ||
35 | # Documentation conditionals for output. | |
36 | if BUILD_XML | |
37 | STAMP_XML = doc-xml | |
38 | STAMP_INSTALL_XML = doc-install-xml | |
39 | else | |
40 | STAMP_XML = | |
41 | STAMP_INSTALL_XML = | |
42 | endif | |
43 | ||
44 | if BUILD_HTML | |
45 | STAMP_HTML = doc-html | |
46 | STAMP_INSTALL_HTML = doc-install-html | |
47 | else | |
48 | STAMP_HTML = | |
49 | STAMP_INSTALL_HTML = | |
50 | endif | |
51 | ||
52 | if BUILD_MAN | |
53 | STAMP_MAN = doc-man | |
54 | STAMP_INSTALL_MAN = doc-install-man | |
55 | else | |
56 | STAMP_MAN = | |
57 | STAMP_INSTALL_MAN = | |
58 | endif | |
59 | ||
60 | if BUILD_PDF | |
61 | STAMP_PDF = doc-pdf | |
62 | STAMP_INSTALL_PDF = doc-install-pdf | |
63 | else | |
64 | STAMP_PDF = | |
65 | STAMP_INSTALL_PDF = | |
66 | endif | |
67 | ||
68 | if BUILD_EPUB | |
69 | STAMP_EPUB = doc-epub | |
70 | STAMP_INSTALL_EPUB = doc-install-epub | |
71 | else | |
72 | STAMP_EPUB = doc-epub | |
73 | STAMP_INSTALL_EPUB = doc-install-epub | |
74 | endif | |
75 | ||
76 | # Documentation primary rules. | |
5bca11c4 | 77 | # |
b25e6b79 BK |
78 | # xml: |
79 | # html: | |
80 | # pdf: | |
81 | # man: | |
82 | # info: | |
83 | # ps: | |
84 | # dvi: | |
85 | # epub: | |
86 | # install-xml: | |
87 | # install-html: | |
88 | # install-pdf: | |
89 | # install-man: | |
90 | # install-info: | |
91 | # install-ps: | |
92 | # install-dvi: | |
93 | # install-epub: | |
94 | ||
95 | xml: $(STAMP_XML) | |
96 | install-xml: $(STAMP_INSTALL_XML) | |
97 | ||
98 | html: $(STAMP_HTML) | |
99 | install-html: $(STAMP_INSTALL_HTML) | |
100 | ||
101 | man: $(STAMP_MAN) | |
102 | install-man: $(STAMP_INSTALL_MAN) | |
103 | ||
104 | pdf: $(STAMP_PDF) | |
105 | install-pdf: $(STAMP_INSTALL_PDF) | |
106 | ||
107 | epub: $(STAMP_EPUB) | |
108 | install-epub: $(STAMP_INSTALL_EPUB) | |
109 | ||
110 | info: | |
111 | install-info: | |
112 | ||
113 | ps: | |
114 | install-ps: | |
115 | ||
116 | dvi: | |
117 | install-dvi: | |
118 | ||
119 | ||
120 | # Default creation and installation rules. | |
121 | # Point to best sub-rule for the requested documentation target and | |
122 | # create, and then install toplevel directory with standardized names | |
5bca11c4 | 123 | # and layouts. |
03a32789 | 124 | |
b25e6b79 BK |
125 | # XML |
126 | xmldir="$(DESTDIR)@docdir@" | |
127 | stamp-xml: stamp-xml-single-docbook stamp-xml-single-doxygen | |
128 | $(STAMP) stamp-xml | |
129 | ||
130 | doc-xml: stamp-xml | |
131 | ||
132 | doc-install-xml: doc-xml | |
133 | test -z ${xmldir} || $(mkinstalldirs) ${xmldir} | |
134 | $(INSTALL_DATA) ${manual_xml} ${xmldir} | |
135 | $(INSTALL_DATA) ${api_xml} ${xmldir} | |
136 | ||
7d8cafcd | 137 | # HTML |
b25e6b79 | 138 | htmldir="$(DESTDIR)@docdir@" |
a6aff075 | 139 | stamp-html: stamp-html-docbook-data stamp-html-doxygen |
b25e6b79 | 140 | $(STAMP) stamp-html |
7d8cafcd | 141 | |
b25e6b79 BK |
142 | doc-html: stamp-html |
143 | ||
144 | doc-install-html: doc-html | |
145 | test -z ${htmldir} || $(mkinstalldirs) ${htmldir} | |
146 | cp -r ${docbook_outdir}/html ${htmldir}/libstdc++-manual.html; | |
147 | cp -r ${doxygen_outdir}/html ${htmldir}/libstdc++-api.html; | |
03a32789 BK |
148 | |
149 | ||
b25e6b79 BK |
150 | pdfdir="$(DESTDIR)@docdir@" |
151 | stamp-pdf: stamp-pdf-docbook stamp-pdf-doxygen | |
152 | $(STAMP) stamp-pdf | |
03a32789 | 153 | |
b25e6b79 | 154 | doc-pdf: stamp-pdf |
547f963b | 155 | |
b25e6b79 BK |
156 | doc-install-pdf: doc-pdf |
157 | test -z ${pdfdir} || $(mkinstalldirs) ${pdfdir} | |
158 | $(INSTALL_DATA) ${docbook_outdir}/pdf/libstdc++-manual.pdf ${pdfdir} | |
159 | $(INSTALL_DATA) ${doxygen_outdir}/pdf/libstdc++-api.pdf ${pdfdir} | |
160 | ||
161 | # MAN | |
162 | mandir="$(DESTDIR)@mandir@" | |
163 | stamp-man: stamp-man-doxygen | |
164 | $(STAMP) stamp-man | |
165 | ||
166 | doc-man: stamp-man | |
167 | ||
168 | doc-install-man: doc-man | |
169 | test -z ${mandir} || $(mkinstalldirs) ${mandir} | |
170 | cp -r ${doxygen_outdir}/man/man3 ${mandir} | |
171 | ||
172 | # TEXINFO,INFO | |
173 | infodir="$(DESTDIR)@infodir@" | |
174 | stamp-texinfo: stamp-texinfo-docbook | |
175 | $(STAMP) stamp-texinfo | |
176 | ||
177 | stamp-info: stamp-info-docbook | |
178 | $(STAMP) stamp-info | |
179 | ||
180 | doc-texinfo: stamp-texinfo | |
181 | ||
182 | doc-info: stamp-info | |
183 | ||
184 | doc-install-texinfo: doc-texinfo | |
185 | test -z ${infodir} || $(mkinstalldirs) ${infodir} | |
186 | $(INSTALL_DATA) ${manual_texi} ${infodir} | |
187 | ||
188 | doc-install-info: doc-info | |
189 | test -z ${infodir} || $(mkinstalldirs) ${infodir} | |
190 | $(INSTALL_DATA) ${manual_info} ${infodir} | |
191 | ||
192 | # EPUB | |
193 | # Assumes ruby installed | |
194 | epubdir="$(DESTDIR)@docdir@" | |
195 | stamp-epub: stamp-epub-docbook | |
196 | $(STAMP) stamp-epub | |
197 | ||
198 | doc-epub: stamp-epub | |
199 | ||
200 | doc-install-epub: doc-epub | |
201 | test -z ${epubdir} || $(mkinstalldirs) ${epubdir} | |
202 | $(INSTALL_DATA) ${manual_epub} ${epubdir} | |
7d8cafcd BK |
203 | |
204 | ||
8a165db0 | 205 | # Doxygen configuration |
0f752f44 | 206 | # Assumes doxygen, graphviz (with dot), pdflatex installed |
03a32789 BK |
207 | doxygen_script=${top_srcdir}/scripts/run_doxygen |
208 | doxygen_outdir = ${glibcxx_builddir}/doc/doxygen | |
81df260f | 209 | api_xml = ${doxygen_outdir}/xml/libstdc++-api.xml |
b25e6b79 BK |
210 | doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf |
211 | api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf | |
60f8b2e2 | 212 | |
b25e6b79 BK |
213 | ${doxygen_outdir}/xml: |
214 | mkdir -p ${doxygen_outdir}/xml | |
4312e020 | 215 | |
b25e6b79 BK |
216 | ${doxygen_outdir}/html: |
217 | mkdir -p ${doxygen_outdir}/html | |
4312e020 | 218 | |
b25e6b79 BK |
219 | ${doxygen_outdir}/latex: |
220 | mkdir -p ${doxygen_outdir}/latex | |
221 | ||
222 | ${doxygen_outdir}/pdf: | |
223 | mkdir -p ${doxygen_outdir}/pdf | |
224 | ||
225 | ${doxygen_outdir}/man: | |
226 | mkdir -p ${doxygen_outdir}/man | |
227 | ||
228 | stamp-xml-doxygen: ${doxygen_outdir}/xml | |
8a165db0 BK |
229 | -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ |
230 | builddir=`cd ..; ${PWD_COMMAND}`; \ | |
03a32789 | 231 | ${SHELL} ${doxygen_script} \ |
40e053e3 | 232 | --host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO) |
b25e6b79 | 233 | $(STAMP) stamp-xml-doxygen |
8a165db0 | 234 | |
b25e6b79 | 235 | stamp-xml-single-doxygen: stamp-xml-doxygen |
8a165db0 | 236 | @echo "Generating doxygen xml single file..." |
03a32789 | 237 | $(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \ |
7d8cafcd | 238 | ${doxygen_outdir}/xml/index.xml > ${api_xml}; |
b25e6b79 BK |
239 | $(STAMP) stamp-xml-single-doxygen |
240 | ||
241 | stamp-html-doxygen: ${doxygen_outdir}/html | |
242 | -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ | |
243 | builddir=`cd ..; ${PWD_COMMAND}`; \ | |
244 | ${SHELL} ${doxygen_script} \ | |
245 | --host_alias=${host_alias} --mode=html $${srcdir} $${builddir} YES) | |
246 | $(STAMP) stamp-html-doxygen | |
4312e020 | 247 | |
b25e6b79 | 248 | stamp-latex-doxygen: ${doxygen_outdir}/latex |
0f752f44 BK |
249 | -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ |
250 | builddir=`cd ..; ${PWD_COMMAND}`; \ | |
251 | ${SHELL} ${doxygen_script} \ | |
252 | --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO) | |
b25e6b79 | 253 | $(STAMP) stamp-latex-doxygen |
0f752f44 | 254 | |
5ab3a5af BK |
255 | # Chance of loooooonnggg creation time on this rule. Iff this fails, |
256 | # look at refman.log and see if TeX's memory is exhausted. Symptoms | |
257 | # include asking a wizard to enlarge capacity. If this is the case, | |
258 | # find texmf.cnf and add a zero for pool_size, string_vacancies, | |
259 | # max_strings, and pool_free values. | |
5ea37bca | 260 | # Errors like "File `foo.sty' not found" mean a TeX package is missing. |
b25e6b79 | 261 | stamp-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf |
0f752f44 BK |
262 | -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;) |
263 | echo "Generating doxygen pdf file..."; | |
264 | if [ -f ${doxygen_pdf} ]; then \ | |
5ab3a5af BK |
265 | mv ${doxygen_pdf} ${api_pdf} ; \ |
266 | echo ":: PDF file is ${api_pdf}"; \ | |
0f752f44 BK |
267 | else \ |
268 | echo "... error"; \ | |
5ea37bca | 269 | grep -F 'LaTeX Error' ${doxygen_outdir}/latex/refman.log; \ |
be8d5f99 | 270 | grep -F 'TeX capacity exceeded, sorry' ${doxygen_outdir}/latex/refman.log; \ |
0f752f44 BK |
271 | exit 12; \ |
272 | fi | |
60f8b2e2 BK |
273 | $(STAMP) stamp-pdf-doxygen |
274 | ||
b25e6b79 BK |
275 | stamp-man-doxygen: ${doxygen_outdir}/man |
276 | -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ | |
277 | builddir=`cd ..; ${PWD_COMMAND}`; \ | |
278 | ${SHELL} ${doxygen_script} \ | |
279 | --host_alias=${host_alias} --mode=man $${srcdir} $${builddir} YES) | |
280 | $(STAMP) stamp-man-doxygen | |
281 | ||
282 | doc-xml-doxygen: stamp-xml-doxygen | |
283 | doc-xml-single-doxygen: stamp-xml-single-doxygen | |
284 | doc-html-doxygen: stamp-html-doxygen | |
285 | doc-latex-doxygen: stamp-latex-doxygen | |
286 | doc-pdf-doxygen: stamp-pdf-doxygen | |
287 | doc-man-doxygen: stamp-man-doxygen | |
0f752f44 | 288 | |
8a165db0 BK |
289 | |
290 | # Docbook configuration. | |
291 | # Assumes | |
292 | # libxslt | |
0f752f44 BK |
293 | # dblatex |
294 | # pdflatex | |
8a165db0 | 295 | # docbook-style-xsl |
0f752f44 | 296 | # emacs-nxml-mode |
03a32789 | 297 | docbook_outdir = ${glibcxx_builddir}/doc/docbook |
0f752f44 BK |
298 | xml_dir = ${glibcxx_srcdir}/doc/xml |
299 | ||
300 | xml_sources_basic = \ | |
301 | ${xml_dir}/spine.xml \ | |
302 | ${xml_dir}/authors.xml \ | |
303 | ${xml_dir}/api.xml \ | |
304 | ${xml_dir}/faq.xml | |
305 | ||
306 | xml_sources_manual = \ | |
307 | ${xml_dir}/manual/abi.xml \ | |
308 | ${xml_dir}/manual/algorithms.xml \ | |
309 | ${xml_dir}/manual/allocator.xml \ | |
310 | ${xml_dir}/manual/auto_ptr.xml \ | |
311 | ${xml_dir}/manual/atomics.xml \ | |
312 | ${xml_dir}/manual/backwards_compatibility.xml \ | |
313 | ${xml_dir}/manual/bitmap_allocator.xml \ | |
314 | ${xml_dir}/manual/build_hacking.xml \ | |
315 | ${xml_dir}/manual/codecvt.xml \ | |
316 | ${xml_dir}/manual/concurrency.xml \ | |
317 | ${xml_dir}/manual/concurrency_extensions.xml \ | |
318 | ${xml_dir}/manual/configure.xml \ | |
319 | ${xml_dir}/manual/containers.xml \ | |
320 | ${xml_dir}/manual/ctype.xml \ | |
321 | ${xml_dir}/manual/debug_mode.xml \ | |
322 | ${xml_dir}/manual/debug.xml \ | |
323 | ${xml_dir}/manual/diagnostics.xml \ | |
d2b0caaa | 324 | ${xml_dir}/manual/documentation_hacking.xml \ |
0f752f44 BK |
325 | ${xml_dir}/manual/evolution.xml \ |
326 | ${xml_dir}/manual/extensions.xml \ | |
327 | ${xml_dir}/manual/internals.xml \ | |
328 | ${xml_dir}/manual/intro.xml \ | |
329 | ${xml_dir}/manual/io.xml \ | |
330 | ${xml_dir}/manual/iterators.xml \ | |
331 | ${xml_dir}/manual/locale.xml \ | |
332 | ${xml_dir}/manual/localization.xml \ | |
333 | ${xml_dir}/manual/messages.xml \ | |
334 | ${xml_dir}/manual/mt_allocator.xml \ | |
335 | ${xml_dir}/manual/numerics.xml \ | |
336 | ${xml_dir}/manual/parallel_mode.xml \ | |
ce1140e3 | 337 | ${xml_dir}/manual/policy_data_structures.xml \ |
74080cba | 338 | ${xml_dir}/manual/policy_data_structures_biblio.xml \ |
0f752f44 | 339 | ${xml_dir}/manual/prerequisites.xml \ |
0f752f44 BK |
340 | ${xml_dir}/manual/shared_ptr.xml \ |
341 | ${xml_dir}/manual/spine.xml \ | |
342 | ${xml_dir}/manual/status_cxx1998.xml \ | |
f25481f4 | 343 | ${xml_dir}/manual/status_cxx2011.xml \ |
109a3af4 | 344 | ${xml_dir}/manual/status_cxx2014.xml \ |
57ede05c JW |
345 | ${xml_dir}/manual/status_cxx2017.xml \ |
346 | ${xml_dir}/manual/status_cxx2020.xml \ | |
0f752f44 BK |
347 | ${xml_dir}/manual/status_cxxtr1.xml \ |
348 | ${xml_dir}/manual/status_cxxtr24733.xml \ | |
349 | ${xml_dir}/manual/strings.xml \ | |
350 | ${xml_dir}/manual/support.xml \ | |
351 | ${xml_dir}/manual/test.xml \ | |
ce1140e3 | 352 | ${xml_dir}/manual/test_policy_data_structures.xml \ |
0f752f44 BK |
353 | ${xml_dir}/manual/using.xml \ |
354 | ${xml_dir}/manual/using_exceptions.xml \ | |
355 | ${xml_dir}/manual/utilities.xml \ | |
356 | ${xml_dir}/manual/appendix_free.xml \ | |
357 | ${xml_dir}/manual/appendix_contributing.xml \ | |
358 | ${xml_dir}/manual/appendix_porting.xml | |
8a165db0 BK |
359 | |
360 | xml_sources_extra = \ | |
669b5857 | 361 | ${xml_dir}/gnu/fdl-1.3.xml \ |
60f8b2e2 | 362 | ${xml_dir}/gnu/gpl-3.0.xml |
0f752f44 BK |
363 | |
364 | xml_sources = \ | |
365 | ${xml_sources_basic} \ | |
366 | ${xml_sources_manual} \ | |
367 | ${xml_sources_extra} | |
8a165db0 | 368 | |
154c4a08 BK |
369 | xml_image_dir = ${xml_dir}/images |
370 | xml_image_basic = \ | |
371 | ${xml_image_dir}/confdeps.png \ | |
372 | ${xml_image_dir}/pbds_balls_and_bins.png \ | |
373 | ${xml_image_dir}/pbds_container_tag_hierarchy.png \ | |
374 | ${xml_image_dir}/pbds_different_underlying_dss_1.png \ | |
375 | ${xml_image_dir}/pbds_different_underlying_dss_2.png \ | |
376 | ${xml_image_dir}/pbds_embedded_lists_1.png \ | |
377 | ${xml_image_dir}/pbds_embedded_lists_2.png \ | |
378 | ${xml_image_dir}/pbds_embedded_lists_3.png \ | |
379 | ${xml_image_dir}/pbds_exception_hierarchy.png \ | |
380 | ${xml_image_dir}/pbds_hash_policy_cd.png \ | |
381 | ${xml_image_dir}/pbds_hash_ranged_hash_range_hashing_fns.png \ | |
382 | ${xml_image_dir}/pbds_hash_range_hashing_seq_diagram2.png \ | |
383 | ${xml_image_dir}/pbds_hash_range_hashing_seq_diagram.png \ | |
384 | ${xml_image_dir}/pbds_insert_resize_sequence_diagram1.png \ | |
385 | ${xml_image_dir}/pbds_insert_resize_sequence_diagram2.png \ | |
386 | ${xml_image_dir}/pbds_insert_resize_sequence_diagram3.png \ | |
387 | ${xml_image_dir}/pbds_invalidation_guarantee_erase.png \ | |
388 | ${xml_image_dir}/pbds_invalidation_tag_hierarchy.png \ | |
389 | ${xml_image_dir}/pbds_list_update.png \ | |
390 | ${xml_image_dir}/pbds_node_invariants.png \ | |
391 | ${xml_image_dir}/pbds_pat_trie.png \ | |
392 | ${xml_image_dir}/pbds_point_iterator_hierarchy.png \ | |
393 | ${xml_image_dir}/pbds_point_iterators_range_ops_1.png \ | |
394 | ${xml_image_dir}/pbds_point_iterators_range_ops_2.png \ | |
395 | ${xml_image_dir}/pbds_priority_queue_different_underlying_dss.png \ | |
396 | ${xml_image_dir}/pbds_priority_queue_tag_hierarchy.png \ | |
397 | ${xml_image_dir}/pbds_rationale_null_node_updator.png \ | |
398 | ${xml_image_dir}/pbds_resize_policy_cd.png \ | |
399 | ${xml_image_dir}/pbds_restoring_node_invariants.png \ | |
400 | ${xml_image_dir}/pbds_simple_list.png \ | |
401 | ${xml_image_dir}/pbds_tree_node_invalidations.png \ | |
402 | ${xml_image_dir}/pbds_tree_node_invariants.png \ | |
403 | ${xml_image_dir}/pbds_tree_node_updator_policy_cd.png \ | |
404 | ${xml_image_dir}/pbds_trie_node_updator_policy_cd.png \ | |
696d4bc1 | 405 | ${xml_image_dir}/pbds_update_seq_diagram.png |
154c4a08 BK |
406 | |
407 | xml_image_generated = \ | |
408 | ${xml_image_dir}/pbds_binary_priority_queue_int_push_pop.png \ | |
409 | ${xml_image_dir}/pbds_binary_priority_queue_int_push.png \ | |
410 | ${xml_image_dir}/pbds_ccgp_hash_int_subscript_insert.png \ | |
411 | ${xml_image_dir}/pbds_cc_hash_int_find.png \ | |
412 | ${xml_image_dir}/pbds_cc_hash_int_subscript_find.png \ | |
413 | ${xml_image_dir}/pbds_cc_hash_int_subscript_insert.png \ | |
414 | ${xml_image_dir}/pbds_gp_hash_int_find.png \ | |
415 | ${xml_image_dir}/pbds_gp_hash_int_subscript_find.png \ | |
416 | ${xml_image_dir}/pbds_gp_hash_int_subscript_insert.png \ | |
417 | ${xml_image_dir}/pbds_hash_int_erase_mem.png \ | |
418 | ${xml_image_dir}/pbds_hash_text_find.png \ | |
419 | ${xml_image_dir}/pbds_hash_zlob_int_find.png \ | |
420 | ${xml_image_dir}/pbds_multimap_text_find_large_s2p_hash.png \ | |
421 | ${xml_image_dir}/pbds_multimap_text_find_large_s2p_tree.png \ | |
422 | ${xml_image_dir}/pbds_multimap_text_find_small_s2p_hash.png \ | |
423 | ${xml_image_dir}/pbds_multimap_text_find_small_s2p_tree.png \ | |
424 | ${xml_image_dir}/pbds_multimap_text_insert_large_s2p_hash.png \ | |
425 | ${xml_image_dir}/pbds_multimap_text_insert_large_s2p_tree.png \ | |
426 | ${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_hash.png \ | |
427 | ${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_tree.png \ | |
428 | ${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_hash.png \ | |
429 | ${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_tree.png \ | |
430 | ${xml_image_dir}/pbds_multimap_text_insert_small_s2p_hash.png \ | |
431 | ${xml_image_dir}/pbds_multimap_text_insert_small_s2p_tree.png \ | |
432 | ${xml_image_dir}/pbds_pairing_priority_queue_text_modify_down_thin.png \ | |
433 | ${xml_image_dir}/pbds_pairing_priority_queue_text_modify_up_thin.png \ | |
434 | ${xml_image_dir}/pbds_pairing_priority_queue_text_push_pop.png \ | |
435 | ${xml_image_dir}/pbds_pairing_priority_queue_text_push.png \ | |
436 | ${xml_image_dir}/pbds_priority_queue_int_push_pop.png \ | |
437 | ${xml_image_dir}/pbds_priority_queue_int_push.png \ | |
438 | ${xml_image_dir}/pbds_priority_queue_text_join.png \ | |
439 | ${xml_image_dir}/pbds_priority_queue_text_modify_down.png \ | |
440 | ${xml_image_dir}/pbds_priority_queue_text_modify_up.png \ | |
441 | ${xml_image_dir}/pbds_priority_queue_text_pop_mem.png \ | |
442 | ${xml_image_dir}/pbds_priority_queue_text_push_pop.png \ | |
443 | ${xml_image_dir}/pbds_priority_queue_text_push.png \ | |
444 | ${xml_image_dir}/pbds_tree_int_find.png \ | |
445 | ${xml_image_dir}/pbds_tree_order_statistics.png \ | |
446 | ${xml_image_dir}/pbds_tree_split_join.png \ | |
447 | ${xml_image_dir}/pbds_tree_text_find.png \ | |
448 | ${xml_image_dir}/pbds_tree_text_insert_node.png \ | |
449 | ${xml_image_dir}/pbds_tree_text_insert_trie.png \ | |
450 | ${xml_image_dir}/pbds_tree_text_insert_vector.png \ | |
451 | ${xml_image_dir}/pbds_tree_text_lor_find.png | |
452 | ||
453 | xml_images = ${xml_image_basic} ${xml_image_generated} | |
a6aff075 | 454 | |
8a165db0 | 455 | xml_noinst = \ |
0f752f44 BK |
456 | ${xml_dir}/book.txml \ |
457 | ${xml_dir}/chapter.txml \ | |
d2b0caaa | 458 | ${xml_dir}/class.txml \ |
154c4a08 BK |
459 | ${xml_image_dir}/confdeps.dot \ |
460 | ${xml_image_dir}/confdeps.pdf | |
8a165db0 BK |
461 | |
462 | XSLTPROC = xsltproc | |
ce1140e3 | 463 | XSLT_FLAGS = --nonet --xinclude |
109a3af4 | 464 | XSLT_PARAM = --param toc.section.depth 4 --param generate.consistent.ids 1 |
b329dd10 BK |
465 | #XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns |
466 | #XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets | |
8a165db0 | 467 | XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl |
27f36b78 | 468 | XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl |
8d24c975 | 469 | XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl |
43fe49ec | 470 | XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl |
8d24c975 | 471 | XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl |
b25e6b79 BK |
472 | |
473 | ${docbook_outdir}/epub: | |
474 | mkdir -p ${docbook_outdir}/epub | |
43fe49ec | 475 | mkdir -p ${docbook_outdir}/epub/OEBPS/images |
8a165db0 | 476 | |
547f963b BK |
477 | ${docbook_outdir}/fo: |
478 | mkdir -p ${docbook_outdir}/fo | |
479 | ||
03a32789 BK |
480 | ${docbook_outdir}/html: |
481 | mkdir -p ${docbook_outdir}/html | |
a6aff075 | 482 | mkdir -p ${docbook_outdir}/html/images |
5e3a0ed1 | 483 | mkdir -p ${docbook_outdir}/html/manual |
8a165db0 | 484 | |
03a32789 BK |
485 | ${docbook_outdir}/pdf: |
486 | mkdir -p ${docbook_outdir}/pdf | |
8a165db0 | 487 | |
74080cba BK |
488 | ${docbook_outdir}/latex: |
489 | mkdir -p ${docbook_outdir}/latex | |
490 | ||
547f963b BK |
491 | ${docbook_outdir}/texinfo: |
492 | mkdir -p ${docbook_outdir}/texinfo | |
8a165db0 | 493 | |
03a32789 BK |
494 | ${docbook_outdir}/xml: |
495 | mkdir -p ${docbook_outdir}/xml | |
8a165db0 | 496 | |
8a165db0 | 497 | |
547f963b BK |
498 | # XML, all one page |
499 | # Some info on canonicalization | |
500 | # http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html | |
81df260f BK |
501 | manual_xml = ${docbook_outdir}/xml/libstdc++-manual.xml |
502 | set_xml = ${docbook_outdir}/xml/libstdc++-set.xml | |
b25e6b79 | 503 | stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml |
8a165db0 | 504 | @echo "Generating XML single..." |
b25e6b79 BK |
505 | $(XMLLINT) $(XMLLINT_FLAGS) \ |
506 | ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}; | |
507 | $(XMLLINT) $(XMLLINT_FLAGS) \ | |
508 | ${top_srcdir}/doc/xml/spine.xml > ${set_xml}; | |
b25e6b79 BK |
509 | $(STAMP) stamp-xml-single-docbook |
510 | ||
511 | doc-xml-single-docbook: stamp-xml-single-docbook | |
8a165db0 | 512 | |
74080cba BK |
513 | # Validate existing XML structure. |
514 | XMLLINT = xmllint | |
515 | LINT_FLAGS = --debug --xinclude --noent --noblanks --noout | |
516 | SCHEMA_FLAGS = --dtdvalid http://www.docbook.org/xml/5.0/dtd/docbook.dtd | |
517 | SCHEMA_RNG_FLAGS = --relaxng http://www.docbook.org/xml/5.0/rng/docbook.rng | |
518 | #SCHEMA_FLAGS = --nonet --dtdvalid /usr/share/xxx/dtd/5.0/docbook.dtd | |
519 | XMLLINT_VALID_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS) | |
520 | XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata | |
521 | doc-xml-validate-docbook: doc-xml-validate-dtd-db | |
522 | ||
523 | doc-xml-validate-dtd-db: $(xml_sources) $(xml_images) | |
524 | @echo "Generating XML validation log..." | |
525 | $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml | |
526 | ||
527 | doc-xml-validate-rng-db: $(xml_sources) $(xml_images) doc-xml-single-docbook | |
528 | @echo "Generating XML RelaxNG validation log..." | |
529 | $(XMLLINT) $(LINT_FLAGS) $(SCHEMA_RNG_FLAGS) ${set_xml} | |
530 | ||
a6aff075 BK |
531 | # HTML support files |
532 | stamp-html-docbook-images: stamp-html-docbook $(xml_images) | |
533 | $(INSTALL_DATA) $(xml_images) ${docbook_outdir}/html/images | |
534 | $(STAMP) stamp-html-docbook-images | |
535 | ||
ca314fbd | 536 | stamp-html-docbook-data: stamp-html-docbook-images |
a6aff075 BK |
537 | $(STAMP) stamp-html-docbook-data |
538 | ||
8d24c975 | 539 | # HTML, "chunked" into index plus chapters as separate pages |
b25e6b79 | 540 | stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html |
8a165db0 | 541 | @echo "Generating html files..." |
ce1140e3 | 542 | $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \ |
8d24c975 BK |
543 | --stringparam chunker.output.encoding UTF-8 \ |
544 | $(XSL_HTML_STYLE) \ | |
545 | ${top_srcdir}/doc/xml/spine.xml | |
b25e6b79 BK |
546 | $(STAMP) stamp-html-docbook |
547 | ||
a6aff075 | 548 | doc-html-docbook: stamp-html-docbook-data |
8a165db0 | 549 | |
07f37a7f JW |
550 | # Generate the HTML pages and copy them back to the source tree. |
551 | doc-html-docbook-regenerate: doc-html-docbook | |
552 | $(INSTALL_DATA) ${docbook_outdir}/html/*.html ${top_srcdir}/doc/html | |
553 | $(INSTALL_DATA) ${docbook_outdir}/html/images/* ${top_srcdir}/doc/html/images | |
554 | $(INSTALL_DATA) ${docbook_outdir}/html/manual/*.html ${top_srcdir}/doc/html/manual | |
555 | ||
8a165db0 | 556 | # HTML, all one page |
8d24c975 | 557 | # NB: Have to generate customization XSL for UTF-8 output. |
5bca11c4 | 558 | manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html |
b25e6b79 | 559 | stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html |
8a165db0 | 560 | @echo "Generating html single file..." |
ce1140e3 | 561 | $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \ |
8d24c975 BK |
562 | ${XSL_LOCAL_STYLE} \ |
563 | ${top_srcdir}/doc/xml/spine.xml | |
b25e6b79 BK |
564 | $(STAMP) stamp-html-single-docbook |
565 | ||
566 | doc-html-single-docbook: stamp-html-single-docbook | |
8a165db0 BK |
567 | |
568 | # FO | |
b25e6b79 | 569 | stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo |
8a165db0 | 570 | @echo "Generating FO files..." |
ce1140e3 | 571 | $(XSLTPROC) $(XSLT_FLAGS) -o ${docbook_outdir}/fo/spine.fo \ |
8a165db0 | 572 | $(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml |
b25e6b79 BK |
573 | $(STAMP) stamp-fo-docbook |
574 | ||
575 | doc-fo-docbook: stamp-fo-docbook | |
8a165db0 | 576 | |
5bca11c4 BK |
577 | # PDF, via dblatex |
578 | manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf | |
74080cba BK |
579 | DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex |
580 | ||
581 | doc-pdf-docbook-dirs: ${docbook_outdir}/pdf ${docbook_outdir}/latex | |
582 | ||
583 | doc-pdf-docbook-pre: $(xml_sources) doc-pdf-docbook-dirs | |
584 | ||
585 | stamp-pdf-docbook: doc-pdf-docbook-pre doc-xml-single-docbook | |
40e053e3 | 586 | @echo "Generating pdf dblatex files..." |
74080cba BK |
587 | dblatex $(DBLATEX_FLAGS) -o ${manual_pdf} \ |
588 | ${top_srcdir}/doc/xml/spine.xml | |
b25e6b79 BK |
589 | $(STAMP) stamp-pdf-docbook |
590 | ||
591 | doc-pdf-docbook: stamp-pdf-docbook | |
40e053e3 | 592 | |
b25e6b79 BK |
593 | # TEXINFO, via docbook2X |
594 | # NB: Both experimental and tempermental | |
595 | manual_texi = ${docbook_outdir}/texinfo/libstdc++-manual.texi | |
596 | manual_info = ${docbook_outdir}/texinfo/libstdc++-manual.info | |
547f963b BK |
597 | DB2TEXI_FLAGS = \ |
598 | --encoding=utf-8//TRANSLIT \ | |
599 | --string-param output-file="libstdc++-manual" \ | |
600 | --string-param directory-category="GNU C++ Library" \ | |
7d8cafcd | 601 | --string-param explicit-node-names=true |
b25e6b79 BK |
602 | |
603 | stamp-texinfo-docbook: stamp-xml-single-docbook ${docbook_outdir}/texinfo | |
547f963b | 604 | @echo "Generating texinfo files..." |
b25e6b79 BK |
605 | db2x_docbook2texi $(DB2TEXI_FLAGS) ${set_xml} |
606 | mv libstdc++-manual.texi ${manual_texi} | |
607 | $(STAMP) stamp-texinfo-docbook | |
608 | ||
609 | stamp-info-docbook: stamp-texinfo-docbook | |
610 | @echo "Generating info files..." | |
611 | $(MAKEINFO) $(MAKEINFOFLAGS) ${manual_texi} | |
612 | $(STAMP) stamp-info-docbook | |
613 | ||
614 | doc-texinfo-docbook: stamp-texinfo-docbook | |
615 | ||
616 | doc-info-docbook: stamp-info-docbook | |
617 | ||
43fe49ec BK |
618 | # EPUB version 3 |
619 | # http://sourceforge.net/projects/docbook/files/epub3/ | |
620 | # Can verify document with epubcheck | |
b25e6b79 BK |
621 | manual_epub = ${docbook_outdir}/epub/libstdc++-manual.epub |
622 | stamp-epub-docbook: stamp-xml-single-docbook ${docbook_outdir}/epub | |
623 | @echo "Generating epub files..." | |
696d4bc1 BK |
624 | if [ ! -d "${docbook_outdir}/images" ]; then \ |
625 | $(LN_S) ${top_srcdir}/doc/xml/images ${docbook_outdir}/; \ | |
626 | fi | |
43fe49ec BK |
627 | $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) \ |
628 | --stringparam base.dir "${docbook_outdir}/epub/OEBPS/" \ | |
629 | $(XSL_EPUB_STYLE) ${top_srcdir}/doc/xml/spine.xml | |
630 | $(INSTALL_DATA) $(xml_images) ${docbook_outdir}/epub/OEBPS/images | |
631 | zip -X0 ${manual_epub} ${docbook_outdir}/epub/mimetype | |
632 | zip -r -X9 ${manual_epub} ${docbook_outdir}/epub/META-INF ${docbook_outdir}/epub/OEBPS | |
b25e6b79 BK |
633 | $(STAMP) stamp-epub-docbook |
634 | ||
635 | doc-epub-docbook: stamp-epub-docbook | |
547f963b | 636 | |
03a32789 BK |
637 | # Performance doc and graph configuration. |
638 | # Assumes pychart, beautiful soup installed. | |
154c4a08 BK |
639 | # Generates the plots/graph imagery for performance testing. |
640 | doc_performance_script=${top_srcdir}/scripts/make_graph.py | |
641 | doc-svg-performance: ${docbook_outdir}/xml | |
03a32789 | 642 | -@(chmod + ${doc_performance_script}; \ |
154c4a08 BK |
643 | ${doc_performance_script} \ |
644 | ${top_srcdir}/testsuite/data/make_graph_test_infos.xml \ | |
03a32789 | 645 | ${glibcxx_builddir}/testsuite \ |
154c4a08 | 646 | ${glibcxx_builddir}/doc/docbook/xml/images) |
60f8b2e2 | 647 | |
c4e82de9 | 648 | .PHONY: doc-doxygen-html doc-doxygen-man doc-performance |
4312e020 BK |
649 | |
650 | # By adding these files here, automake will remove them for 'make clean' | |
b25e6b79 | 651 | CLEANFILES = *.log stamp* |
4312e020 BK |
652 | |
653 | # To remove directories. | |
654 | clean-local: | |
b25e6b79 | 655 | rm -rf man html pdf fo xml doxygen docbook ./libstdc++-* db2t* |