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