]> git.proxmox.com Git - mirror_frr.git/blame - doc/subdir.am
*: auto-convert to SPDX License IDs
[mirror_frr.git] / doc / subdir.am
CommitLineData
9e53b315
DL
1#
2# doc
3#
4
5# You can set these variables from the command line.
6SPHINXOPTS ?=
9e53b315
DL
7PAPER ?=
8
9# Internal variables.
10PAPEROPT_a4 = -D latex_paper_size=a4
11PAPEROPT_letter = -D latex_paper_size=letter
12ALLSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS)
13# the i18n builder cannot share the environment and doctrees with the others
14I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS)
15
16###
17
18AM_V_SPHINX = $(am__v_SPHINX_$(V))
19am__v_SPHINX_ = $(am__v_SPHINX_$(AM_DEFAULT_VERBOSITY))
20am__v_SPHINX_0 = @echo " SPHINX " $@;
21am__v_SPHINX_1 =
22AM_V_MAKEINFO = $(am__v_MAKEINFO_$(V))
23am__v_MAKEINFO_ = $(am__v_MAKEINFO_$(AM_DEFAULT_VERBOSITY))
24am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
25am__v_MAKEINFO_1 =
26
27#
28# real-file sphinx targets that work for dependencies
29#
30
31doc/%/_build/.doctrees/environment.pickle:
32 $(AM_V_SPHINX) ( \
33 subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
45da32d7 34 $(PYTHON) $(PYSPHINX) -a -q -b text -d "$${subdoc}/_build/.doctrees" \
9e53b315
DL
35 $(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/text" \
36 )
37doc/%/_build/html/.buildinfo: doc/%/_build/.doctrees/environment.pickle
38 $(AM_V_SPHINX) ( \
39 subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
45da32d7 40 $(PYTHON) $(PYSPHINX) -q -b html -d "$${subdoc}/_build/.doctrees" \
9e53b315
DL
41 $(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/html" \
42 )
43.PRECIOUS: doc/%/_build/texinfo/frr.texi
44doc/%/_build/texinfo/frr.texi: doc/%/_build/.doctrees/environment.pickle
45 $(AM_V_SPHINX) ( \
46 subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
45da32d7 47 $(PYTHON) $(PYSPHINX) -q -b texinfo -d "$${subdoc}/_build/.doctrees" \
9e53b315
DL
48 $(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/texinfo" \
49 )
50doc/%/_build/texinfo/frr.info: doc/%/_build/texinfo/frr.texi
51 $(AM_V_MAKEINFO)$(MAKEINFO) --no-split -o '$@' '$<'
52doc/%/_build/man/man.stamp: doc/%/_build/.doctrees/environment.pickle
53 $(AM_V_SPHINX) ( \
54 subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
55 $(MKDIR_P) "$${subdoc}/_build/man"; touch $@.tmp; \
45da32d7 56 $(PYTHON) $(PYSPHINX) -a -q -b man -d "$${subdoc}/_build/.doctrees" \
9e53b315 57 $(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/man" && \
1eab76b9 58 mv -f $@.tmp $@ \
9e53b315
DL
59 )
60
61#
62# auxiliary sphinx targets (output name = directory,
63# deps will not work very well)
64#
65
66SPHINXTARGETS = \
67 html dirhtml singlehtml pickle json \
68 htmlhelp qthelp applehelp devhelp \
69 epub latex text man texinfo gettext \
70 changes linkcheck doctest coverage \
71 xml pseudoxml \
72 # end
73
74M_SPHINXTARGETS = $(addprefix doc/%/_build/,$(SPHINXTARGETS))
75.PRECIOUS: $(M_SPHINXTARGETS)
76$(M_SPHINXTARGETS): doc/%/_build/.doctrees/environment.pickle
77 $(AM_V_SPHINX) ( \
78 target="$@"; \
79 builder="$${target##*/}"; \
80 subdoc="$${target#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
81 rm -rf "$@"; \
45da32d7 82 $(PYTHON) $(PYSPHINX) -q -b $${builder} -d $${subdoc}/_build/.doctrees \
9e53b315
DL
83 $(ALLSPHINXOPTS) $(top_srcdir)/$${subdoc} $@ \
84 )
85
86.PHONY: doc/%/_build/latexpdf
87doc/%/_build/latexpdf: doc/%/_build/latex
88 @make -C $< all-pdf
89
90# If you want to build the developer's docs in other formats, try the
91# following:
92#
93# $ cd developer
94# $ make help
95
96# dist tarballs want doc sources
97EXTRA_DIST += \
98 doc/mpls/ChangeLog.opaque.txt \
99 doc/mpls/ospfd.conf \
100 doc/mpls/cli_summary.txt \
101 doc/mpls/opaque_lsa.txt \
102 doc/figures/cligraph.png \
103 doc/figures/cligraph.svg \
104 doc/figures/fig-normal-processing.dia \
105 doc/figures/fig-normal-processing.png \
106 doc/figures/fig-normal-processing.txt \
107 doc/figures/fig-rs-processing.dia \
108 doc/figures/fig-rs-processing.png \
109 doc/figures/fig-rs-processing.txt \
110 doc/figures/fig_topologies_full.dia \
111 doc/figures/fig_topologies_full.png \
112 doc/figures/fig_topologies_full.txt \
113 doc/figures/fig_topologies_rs.dia \
114 doc/figures/fig_topologies_rs.png \
115 doc/figures/fig_topologies_rs.txt \
116 doc/figures/fig-vnc-commercial-route-reflector.dia \
117 doc/figures/fig-vnc-commercial-route-reflector.png \
118 doc/figures/fig-vnc-commercial-route-reflector.txt \
119 doc/figures/fig-vnc-frr-route-reflector.dia \
120 doc/figures/fig-vnc-frr-route-reflector.png \
121 doc/figures/fig-vnc-frr-route-reflector.txt \
122 doc/figures/fig-vnc-gw.dia \
123 doc/figures/fig-vnc-gw.png \
124 doc/figures/fig-vnc-gw-rr.dia \
125 doc/figures/fig-vnc-gw-rr.png \
126 doc/figures/fig-vnc-gw-rr.txt \
127 doc/figures/fig-vnc-gw.txt \
128 doc/figures/fig-vnc-mesh.dia \
129 doc/figures/fig-vnc-mesh.png \
130 doc/figures/fig-vnc-mesh.txt \
131 doc/figures/fig-vnc-redundant-route-reflectors.dia \
132 doc/figures/fig-vnc-redundant-route-reflectors.png \
133 doc/figures/fig-vnc-redundant-route-reflectors.txt \
134 doc/figures/frr-icon.svg \
135 doc/figures/frr-logo-icon.png \
136 doc/figures/frr-logo-medium.png \
137 doc/figures/frr-logo.png \
138 doc/figures/frr-logo-small.png \
139 doc/figures/git_branches.png \
140 doc/figures/git_branches.svg \
141 doc/figures/ospf_api_architecture.png \
142 doc/figures/ospf_api_msghdr.png \
143 doc/figures/ospf_api_msgs1.png \
144 doc/figures/ospf_api_msgs2.png \
145 doc/extra/frrlexer.py \
146 # end
147
148
149.PHONY: doc/help
150doc/help:
151 @echo "Please use \`make doc/{user,manpages,developer}/<target>' where <target> is one of"
152 @echo " html to make standalone HTML files"
153 @echo " dirhtml to make HTML files named index.html in directories"
154 @echo " singlehtml to make a single large HTML file"
155 @echo " pickle to make pickle files"
156 @echo " json to make JSON files"
157 @echo " htmlhelp to make HTML files and a HTML help project"
158 @echo " qthelp to make HTML files and a qthelp project"
159 @echo " applehelp to make an Apple Help Book"
160 @echo " devhelp to make HTML files and a Devhelp project"
161 @echo " epub to make an epub"
162 @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
163 @echo " latexpdf to make LaTeX files and run them through pdflatex"
164 @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
165 @echo " text to make text files"
166 @echo " man to make manual pages"
167 @echo " texinfo to make Texinfo files"
168 @echo " info to make Texinfo files and run them through makeinfo"
169 @echo " gettext to make PO message catalogs"
170 @echo " changes to make an overview of all changed/added/deprecated items"
171 @echo " xml to make Docutils-native XML files"
172 @echo " pseudoxml to make pseudoxml-XML files for display purposes"
173 @echo " linkcheck to check all external links for integrity"
174 @echo " doctest to run all doctests embedded in the documentation (if enabled)"
175 @echo " coverage to run coverage check of the documentation (if enabled)"