1MANPAGES_IN = \
2	man/knot.conf.5in	\
3	man/knotc.8in		\
4	man/knotd.8in		\
5	man/kcatalogprint.8in	\
6	man/keymgr.8in		\
7	man/kjournalprint.8in	\
8	man/kdig.1in		\
9	man/khost.1in		\
10	man/knsupdate.1in	\
11	man/knsec3hash.1in	\
12	man/kzonecheck.1in	\
13	man/kzonesign.1in	\
14	man/kxdpgun.8in
15
16MANPAGES_RST = \
17	man_knotc.rst		\
18	man_knotd.rst		\
19	man_kcatalogprint.rst	\
20	man_keymgr.rst		\
21	man_kjournalprint.rst	\
22	man_kdig.rst		\
23	man_khost.rst		\
24	man_knsupdate.rst	\
25	man_knsec3hash.rst	\
26	man_kzonecheck.rst	\
27	man_kzonesign.rst	\
28	man_kxdpgun.rst
29
30EXTRA_DIST = \
31	conf.py			\
32	\
33	appendices.rst		\
34	configuration.rst	\
35	index.rst		\
36	installation.rst	\
37	introduction.rst	\
38	migration.rst		\
39	modules.rst.in		\
40	operation.rst		\
41	reference.rst		\
42	requirements.rst	\
43	troubleshooting.rst	\
44	utilities.rst		\
45	\
46	$(MANPAGES_IN)		\
47	$(MANPAGES_RST)		\
48	\
49	logo.pdf		\
50	logo.svg		\
51	\
52	theme_html
53
54SPHINX_V = $(SPHINX_V_@AM_V@)
55SPHINX_V_ = $(SPHINX_V_@AM_DEFAULT_V@)
56SPHINX_V_0 = -q
57SPHINX_V_1 = -n
58
59AM_V_SPHINX = $(AM_V_SPHINX_@AM_V@)
60AM_V_SPHINX_ = $(AM_V_SPHINX_@AM_DEFAULT_V@)
61AM_V_SPHINX_0 = @echo "  SPHINX   $@";
62
63AM_V_ECHO = @sh -c 'if $(AM_V_P); then echo $$1; fi' --
64
65SPHINXBUILDDIR = $(builddir)/_build
66
67_SPHINXOPTS    = -c $(srcdir) \
68	         -a \
69	         $(SPHINX_V)
70
71ALLSPHINXOPTS  = $(_SPHINXOPTS) \
72	         -D version="$(VERSION)" \
73	         -D today="$(RELEASE_DATE)" \
74	         -D release="$(VERSION)" \
75	         $(SPHINXOPTS) \
76	         $(srcdir)
77
78man_SPHINXOPTS = $(_SPHINXOPTS) \
79	         -D version="@""VERSION@" \
80	         -D today="@""RELEASE_DATE@" \
81	         -D release="@""VERSION@" \
82	         $(SPHINXOPTS) \
83	         $(srcdir)
84
85.PHONY: html-local singlehtml pdf-local info-local epub man install-html-local install-singlehtml install-pdf-local install-info-local install-epub
86
87man_MANS =
88
89if HAVE_DAEMON
90man_MANS += \
91	man/knot.conf.5		\
92	man/knotc.8		\
93	man/knotd.8
94endif # HAVE_DAEMON
95
96if HAVE_UTILS
97if HAVE_DAEMON
98man_MANS += \
99	man/kcatalogprint.8	\
100	man/keymgr.8		\
101	man/kjournalprint.8	\
102	man/kzonecheck.1	\
103	man/kzonesign.1
104endif # HAVE_DAEMON
105
106man_MANS += \
107	man/kdig.1		\
108	man/khost.1		\
109	man/knsupdate.1		\
110	man/knsec3hash.1
111
112if ENABLE_XDP
113man_MANS += man/kxdpgun.8
114endif # ENABLE_XDP
115endif # HAVE_UTILS
116
117man/knot.conf.5:	man/knot.conf.5in
118man/knotc.8:		man/knotc.8in
119man/knotd.8:		man/knotd.8in
120man/kcatalogprint.8:	man/kcatalogprint.8in
121man/keymgr.8:		man/keymgr.8in
122man/kjournalprint.8:	man/kjournalprint.8in
123man/kdig.1:		man/kdig.1in
124man/khost.1:		man/khost.1in
125man/knsupdate.1:	man/knsupdate.1in
126man/knsec3hash.1:	man/knsec3hash.1in
127man/kzonecheck.1:	man/kzonecheck.1in
128man/kzonesign.1:	man/kzonesign.1in
129man/kxdpgun.8:		man/kxdpgun.8in
130
131man_SUBST = $(AM_V_GEN)mkdir -p man; \
132            sed -e 's,[@]VERSION@,$(VERSION),' \
133                -e 's,[@]RELEASE_DATE@,$(RELEASE_DATE),' \
134                -e 's,[@]config_dir@,$(config_dir),' \
135                -e 's,[@]storage_dir@,$(storage_dir),' \
136                -e 's,[@]run_dir@,$(run_dir),' \
137                -e 's,[@]conf_mapsize@,$(conf_mapsize),' \
138            $< > $@
139
140.1in.1:
141	$(man_SUBST)
142
143.5in.5:
144	$(man_SUBST)
145
146.8in.8:
147	$(man_SUBST)
148
149if HAVE_DOCS
150
151if HAVE_SPHINXBUILD
152html-local:
153	$(AM_V_SPHINX)$(SPHINXBUILD) -b html -d $(SPHINXBUILDDIR)/doctrees $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/html
154	$(AM_V_ECHO)
155	$(AM_V_ECHO) "Build finished. The HTML pages are in $(SPHINXBUILDDIR)/html/."
156
157install-html-local:
158	$(INSTALL) -d $(DESTDIR)/$(docdir) $(DESTDIR)/$(docdir)/_static $(DESTDIR)/$(docdir)/_sources
159	$(INSTALL) -D $(SPHINXBUILDDIR)/html/*.html $(DESTDIR)/$(docdir)/
160	$(INSTALL_DATA) $(SPHINXBUILDDIR)/html/_sources/* $(DESTDIR)/$(docdir)/_sources/
161	$(INSTALL_DATA) $(SPHINXBUILDDIR)/html/_static/* $(DESTDIR)/$(docdir)/_static/
162
163singlehtml:
164	$(AM_V_SPHINX)$(SPHINXBUILD) -b singlehtml -d $(SPHINXBUILDDIR)/doctrees $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/singlehtml
165	$(AM_V_ECHO)
166	$(AM_V_ECHO) "Build finished. The HTML page is in $(SPHINXBUILDDIR)/singlehtml/."
167
168install-singlehtml: singlehtml
169	$(INSTALL) -d $(DESTDIR)/$(docdir) $(DESTDIR)/$(docdir)/_static
170	$(INSTALL_DATA) $(SPHINXBUILDDIR)/singlehtml/*.html $(DESTDIR)/$(docdir)/
171	$(INSTALL_DATA) $(SPHINXBUILDDIR)/singlehtml/_static/* $(DESTDIR)/$(docdir)/_static/
172
173epub:
174	$(AM_V_SPHINX)$(SPHINXBUILD) -b epub -A today=$(RELEASE_DATE) -d $(SPHINXBUILDDIR)/doctrees $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/epub
175	$(AM_V_ECHO)
176	$(AM_V_ECHO) "Build finished. The EPUB file is in $(SPHINXBUILDDIR)/epub/."
177
178install-epub:
179	$(INSTALL) -d $(DESTDIR)/$(docdir)
180	$(INSTALL_DATA) $(SPHINXBUILDDIR)/epub/KnotDNS.epub $(DESTDIR)/$(docdir)/
181
182if HAVE_PDFLATEX
183pdf-local:
184	$(AM_V_SPHINX)$(SPHINXBUILD) -b latex -d $(SPHINXBUILDDIR)/doctrees $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/latex
185	$(MAKE) -C $(SPHINXBUILDDIR)/latex all-pdf
186	$(AM_V_ECHO)
187	$(AM_V_ECHO) "Build finished. The PDF file is in $(SPHINXBUILDDIR)/latex/."
188
189install-pdf-local:
190	$(INSTALL) -d $(DESTDIR)/$(docdir)
191	$(INSTALL_DATA) $(SPHINXBUILDDIR)/latex/KnotDNS.pdf $(DESTDIR)/$(docdir)/
192
193else
194pdf-local install-pdf-local:
195	$(AM_V_ECHO) "You need to install pdflatex and re-run configure to be"
196	$(AM_V_ECHO) "able to generate PDF documentation."
197endif
198
199if HAVE_MAKEINFO
200info-local:
201	$(AM_V_SPHINX)$(SPHINXBUILD) -b texinfo -d $(SPHINXBUILDDIR)/doctrees $(ALLSPHINXOPTS) $(SPHINXBUILDDIR)/texinfo
202	$(MAKE) -C $(SPHINXBUILDDIR)/texinfo info
203	$(AM_V_ECHO)
204	$(AM_V_ECHO) "Build finished. The Info file is in $(SPHINXBUILDDIR)/texinfo/."
205
206install-info-local:
207	$(INSTALL) -d $(DESTDIR)/$(infodir)
208	$(INSTALL_DATA) $(SPHINXBUILDDIR)/texinfo/knot.info $(DESTDIR)/$(infodir)/
209
210else
211info-local install-info-local:
212	$(AM_V_ECHO) "You need to install GNU Texinfo and re-run configure to be"
213	$(AM_V_ECHO) "able to generate info pages."
214endif
215
216.NOTPARALLEL: man
217man: $(man_MANS)
218$(MANPAGES_IN): $(MANPAGES_RST)
219	$(AM_V_SPHINX)$(SPHINXBUILD) -b man -d $(SPHINXBUILDDIR)/doctrees $(man_SPHINXOPTS) $(SPHINXBUILDDIR)/man
220	@mkdir -p $(srcdir)/man
221	@for f in $(SPHINXBUILDDIR)/man/*; do \
222	  sed -e '/^\.TP$$/ {' -e 'n' -e 's/^\.B //' -e '}' "$$f" > "$(srcdir)/man/$$(basename $$f)in"; \
223	done
224	$(AM_V_ECHO)
225	$(AM_V_ECHO) "Build finished. The man pages are in man/."
226
227else
228html-local singlehtml pdf-local info-local epub man install-html-local install-singlehtml install-pdf-local install-info-local install-epub:
229	$(AM_V_ECHO) "Please install sphinx (python-sphinx) to generate Knot DNS documentation."
230endif # HAVE_SPHINXBUILD
231
232endif # HAVE_DOCS
233
234clean-local:
235	-rm -rf $(SPHINXBUILDDIR)
236	-rm -f man/*.1 man/*.5 man/*.8
237