]>
Commit | Line | Data |
---|---|---|
9e53b315 DL |
1 | # |
2 | # doc | |
3 | # | |
4 | ||
5 | # You can set these variables from the command line. | |
6 | SPHINXOPTS ?= | |
9e53b315 DL |
7 | PAPER ?= |
8 | ||
9 | # Internal variables. | |
10 | PAPEROPT_a4 = -D latex_paper_size=a4 | |
11 | PAPEROPT_letter = -D latex_paper_size=letter | |
12 | ALLSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) | |
13 | # the i18n builder cannot share the environment and doctrees with the others | |
14 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) | |
15 | ||
16 | ### | |
17 | ||
18 | AM_V_SPHINX = $(am__v_SPHINX_$(V)) | |
19 | am__v_SPHINX_ = $(am__v_SPHINX_$(AM_DEFAULT_VERBOSITY)) | |
20 | am__v_SPHINX_0 = @echo " SPHINX " $@; | |
21 | am__v_SPHINX_1 = | |
22 | AM_V_MAKEINFO = $(am__v_MAKEINFO_$(V)) | |
23 | am__v_MAKEINFO_ = $(am__v_MAKEINFO_$(AM_DEFAULT_VERBOSITY)) | |
24 | am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; | |
25 | am__v_MAKEINFO_1 = | |
26 | ||
27 | # | |
28 | # real-file sphinx targets that work for dependencies | |
29 | # | |
30 | ||
31 | doc/%/_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 | ) | |
37 | doc/%/_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 | |
44 | doc/%/_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 | ) | |
50 | doc/%/_build/texinfo/frr.info: doc/%/_build/texinfo/frr.texi | |
51 | $(AM_V_MAKEINFO)$(MAKEINFO) --no-split -o '$@' '$<' | |
52 | doc/%/_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 | ||
66 | SPHINXTARGETS = \ | |
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 | ||
74 | M_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 | |
87 | doc/%/_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 | |
97 | EXTRA_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 | |
150 | doc/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)" |