]> git.proxmox.com Git - mirror_ovs.git/blob - Documentation/automake.mk
cirrus: Use FreeBSD 12.2.
[mirror_ovs.git] / Documentation / automake.mk
1 DOC_SOURCE = \
2 Documentation/group-selection-method-property.txt \
3 Documentation/_static/logo.png \
4 Documentation/_static/overview.png \
5 Documentation/conf.py \
6 Documentation/index.rst \
7 Documentation/contents.rst \
8 Documentation/intro/index.rst \
9 Documentation/intro/what-is-ovs.rst \
10 Documentation/intro/why-ovs.rst \
11 Documentation/intro/install/index.rst \
12 Documentation/intro/install/bash-completion.rst \
13 Documentation/intro/install/afxdp.rst \
14 Documentation/intro/install/debian.rst \
15 Documentation/intro/install/documentation.rst \
16 Documentation/intro/install/distributions.rst \
17 Documentation/intro/install/dpdk.rst \
18 Documentation/intro/install/fedora.rst \
19 Documentation/intro/install/general.rst \
20 Documentation/intro/install/netbsd.rst \
21 Documentation/intro/install/rhel.rst \
22 Documentation/intro/install/userspace.rst \
23 Documentation/intro/install/windows.rst \
24 Documentation/intro/install/xenserver.rst \
25 Documentation/tutorials/index.rst \
26 Documentation/tutorials/faucet.rst \
27 Documentation/tutorials/ovs-advanced.rst \
28 Documentation/tutorials/ovs-conntrack.rst \
29 Documentation/tutorials/ipsec.rst \
30 Documentation/topics/index.rst \
31 Documentation/topics/bonding.rst \
32 Documentation/topics/idl-compound-indexes.rst \
33 Documentation/topics/datapath.rst \
34 Documentation/topics/design.rst \
35 Documentation/topics/dpdk/index.rst \
36 Documentation/topics/dpdk/bridge.rst \
37 Documentation/topics/dpdk/jumbo-frames.rst \
38 Documentation/topics/dpdk/memory.rst \
39 Documentation/topics/dpdk/phy.rst \
40 Documentation/topics/dpdk/pmd.rst \
41 Documentation/topics/dpdk/qos.rst \
42 Documentation/topics/dpdk/vdev.rst \
43 Documentation/topics/dpdk/vhost-user.rst \
44 Documentation/topics/fuzzing/index.rst \
45 Documentation/topics/fuzzing/what-is-fuzzing.rst \
46 Documentation/topics/fuzzing/ovs-fuzzing-infrastructure.rst \
47 Documentation/topics/fuzzing/ovs-fuzzers.rst \
48 Documentation/topics/fuzzing/security-analysis-of-ovs-fuzzers.rst \
49 Documentation/topics/testing.rst \
50 Documentation/topics/integration.rst \
51 Documentation/topics/language-bindings.rst \
52 Documentation/topics/networking-namespaces.rst \
53 Documentation/topics/openflow.rst \
54 Documentation/topics/ovs-extensions.rst \
55 Documentation/topics/ovsdb-replication.rst \
56 Documentation/topics/porting.rst \
57 Documentation/topics/tracing.rst \
58 Documentation/topics/userspace-tso.rst \
59 Documentation/topics/windows.rst \
60 Documentation/howto/index.rst \
61 Documentation/howto/dpdk.rst \
62 Documentation/howto/ipsec.rst \
63 Documentation/howto/kvm.rst \
64 Documentation/howto/libvirt.rst \
65 Documentation/howto/selinux.rst \
66 Documentation/howto/ssl.rst \
67 Documentation/howto/lisp.rst \
68 Documentation/howto/qos.png \
69 Documentation/howto/qos.rst \
70 Documentation/howto/sflow.png \
71 Documentation/howto/sflow.rst \
72 Documentation/howto/tunneling.png \
73 Documentation/howto/tunneling.rst \
74 Documentation/howto/userspace-tunneling.rst \
75 Documentation/howto/vlan.png \
76 Documentation/howto/vlan.rst \
77 Documentation/howto/vtep.rst \
78 Documentation/ref/index.rst \
79 Documentation/faq/index.rst \
80 Documentation/faq/configuration.rst \
81 Documentation/faq/contributing.rst \
82 Documentation/faq/design.rst \
83 Documentation/faq/general.rst \
84 Documentation/faq/issues.rst \
85 Documentation/faq/openflow.rst \
86 Documentation/faq/qos.rst \
87 Documentation/faq/releases.rst \
88 Documentation/faq/terminology.rst \
89 Documentation/faq/vlan.rst \
90 Documentation/faq/vxlan.rst \
91 Documentation/faq/bareudp.rst \
92 Documentation/internals/index.rst \
93 Documentation/internals/authors.rst \
94 Documentation/internals/bugs.rst \
95 Documentation/internals/charter.rst \
96 Documentation/internals/committer-emeritus-status.rst \
97 Documentation/internals/committer-grant-revocation.rst \
98 Documentation/internals/committer-responsibilities.rst \
99 Documentation/internals/documentation.rst \
100 Documentation/internals/mailing-lists.rst \
101 Documentation/internals/maintainers.rst \
102 Documentation/internals/patchwork.rst \
103 Documentation/internals/release-process.rst \
104 Documentation/internals/security.rst \
105 Documentation/internals/contributing/index.rst \
106 Documentation/internals/contributing/backporting-patches.rst \
107 Documentation/internals/contributing/coding-style.rst \
108 Documentation/internals/contributing/coding-style-windows.rst \
109 Documentation/internals/contributing/documentation-style.rst \
110 Documentation/internals/contributing/libopenvswitch-abi.rst \
111 Documentation/internals/contributing/submitting-patches.rst \
112 Documentation/requirements.txt \
113 $(addprefix Documentation/ref/,$(RST_MANPAGES) $(RST_MANPAGES_NOINST))
114 FLAKE8_PYFILES += Documentation/conf.py
115 EXTRA_DIST += $(DOC_SOURCE)
116
117 # You can set these variables from the command line.
118 SPHINXOPTS =
119 SPHINXSRCDIR = $(srcdir)/Documentation
120 SPHINXBUILDDIR = $(builddir)/Documentation/_build
121
122 # Internal variables.
123 ALLSPHINXOPTS = -W -n -d $(SPHINXBUILDDIR)/doctrees $(SPHINXOPTS) $(SPHINXSRCDIR)
124
125 sphinx_verbose = $(sphinx_verbose_@AM_V@)
126 sphinx_verbose_ = $(sphinx_verbose_@AM_DEFAULT_V@)
127 sphinx_verbose_0 = -q
128
129 if HAVE_SPHINX
130 docs-check: $(DOC_SOURCE)
131 $(AM_V_GEN)$(SPHINXBUILD) $(sphinx_verbose) -b html $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/html && touch $@
132 $(AM_V_GEN)$(SPHINXBUILD) $(sphinx_verbose) -b man $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/man && touch $@
133 ALL_LOCAL += docs-check
134 CLEANFILES += docs-check
135
136 check-docs:
137 $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/linkcheck
138
139 clean-docs:
140 rm -rf $(SPHINXBUILDDIR)
141 rm -f docs-check
142 CLEAN_LOCAL += clean-docs
143 endif
144 .PHONY: check-docs
145 .PHONY: clean-docs
146 \f
147 # Installing manpages based on rST.
148 #
149 # The docs-check target converts the rST files listed in RST_MANPAGES
150 # into nroff manpages in Documentation/_build/man. The easiest way to
151 # get these installed by "make install" is to write our own helper
152 # rules.
153
154 # rST formatted manpages under Documentation/ref.
155 RST_MANPAGES = \
156 ovs-appctl.8.rst \
157 ovs-ctl.8.rst \
158 ovs-l3ping.8.rst \
159 ovs-parse-backtrace.8.rst \
160 ovs-pki.8.rst \
161 ovs-tcpdump.8.rst \
162 ovs-tcpundump.1.rst \
163 ovs-test.8.rst \
164 ovs-vlan-test.8.rst \
165 ovsdb-server.7.rst \
166 ovsdb.5.rst \
167 ovsdb.7.rst
168
169 # rST formatted manpages that we don't want to install because they
170 # document stuff that only works with a build tree, not with an
171 # installed OVS.
172 RST_MANPAGES_NOINST = ovs-sim.1.rst
173
174 # The GNU standards say that these variables should control
175 # installation directories for manpages in each section. Automake
176 # will define them for us only if it sees that a manpage in the
177 # appropriate section is to be installed through its built-in feature.
178 # Since we're working independently, for best safety, we need to
179 # define them ourselves.
180 man1dir = $(mandir)/man1
181 man2dir = $(mandir)/man2
182 man3dir = $(mandir)/man3
183 man4dir = $(mandir)/man4
184 man5dir = $(mandir)/man5
185 man6dir = $(mandir)/man6
186 man7dir = $(mandir)/man7
187 man8dir = $(mandir)/man8
188 man9dir = $(mandir)/man9
189
190 # Set a shell variable for each manpage directory.
191 set_mandirs = \
192 man1dir='$(man1dir)' \
193 man2dir='$(man2dir)' \
194 man3dir='$(man3dir)' \
195 man4dir='$(man4dir)' \
196 man5dir='$(man5dir)' \
197 man6dir='$(man6dir)' \
198 man7dir='$(man7dir)' \
199 man8dir='$(man8dir)' \
200 man9dir='$(man9dir)'
201
202 # Given an $rst of "ovs-vlan-test.8.rst", sets $stem to
203 # "ovs-vlan-test", $section to "8", and $mandir to $man8dir.
204 extract_stem_and_section = \
205 stem=`echo "$$rst" | sed -n 's/^\(.*\)\.\([0-9]\).rst$$/\1/p'`; \
206 section=`echo "$$rst" | sed -n 's/^\(.*\)\.\([0-9]\).rst$$/\2/p'`; \
207 test -n "$$section" || { echo "$$rst: cannot infer manpage section from filename" 2>&1; continue; }; \
208 eval "mandir=\$$man$${section}dir"; \
209 test -n "$$mandir" || { echo "unknown directory for manpage section $$section"; continue; }
210
211 INSTALL_DATA_LOCAL += install-man-rst
212 if HAVE_SPHINX
213 install-man-rst: docs-check
214 @$(set_mandirs); \
215 for rst in $(RST_MANPAGES) $(EXTRA_RST_MANPAGES); do \
216 $(extract_stem_and_section); \
217 echo " $(MKDIR_P) '$(DESTDIR)'\"$$mandir\""; \
218 $(MKDIR_P) '$(DESTDIR)'"$$mandir"; \
219 echo " $(INSTALL_DATA) $(SPHINXBUILDDIR)/man/$$stem.$$section '$(DESTDIR)'\"$$mandir/$$stem.$$section\""; \
220 $(INSTALL_DATA) $(SPHINXBUILDDIR)/man/$$stem.$$section '$(DESTDIR)'"$$mandir/$$stem.$$section"; \
221 done
222 else
223 install-man-rst:
224 @:
225 endif
226
227 UNINSTALL_LOCAL += uninstall-man-rst
228 uninstall-man-rst:
229 @$(set_mandirs); \
230 for rst in $(RST_MANPAGES); do \
231 $(extract_stem_and_section); \
232 echo "rm -f '$(DESTDIR)'\"$$mandir/$$stem.$$section\""; \
233 rm -f '$(DESTDIR)'"$$mandir/$$stem.$$section"; \
234 done