xref: /netbsd-src/external/mpl/bind/dist/doc/man/Makefile.am (revision 32d1c65c71fbdb65a012e8392a62a757dd6853e9)
1include $(top_srcdir)/Makefile.top
2include $(top_srcdir)/Makefile.docs
3
4MANPAGES_RST =				\
5	arpaname.rst			\
6	delv.rst			\
7	dig.rst				\
8	ddns-confgen.rst		\
9	dnssec-cds.rst			\
10	dnssec-dsfromkey.rst		\
11	dnssec-importkey.rst		\
12	dnssec-keyfromlabel.rst		\
13	dnssec-keygen.rst		\
14	dnssec-revoke.rst		\
15	dnssec-settime.rst		\
16	dnssec-signzone.rst		\
17	dnssec-verify.rst		\
18	dnstap-read.rst			\
19	filter-aaaa.rst			\
20	filter-a.rst			\
21	host.rst			\
22	index.rst			\
23	mdig.rst			\
24	named-checkconf.rst		\
25	named-checkzone.rst		\
26	named-compilezone.rst		\
27	named-journalprint.rst		\
28	named-nzd2nzf.rst		\
29	named-rrchecker.rst		\
30	named.conf.rst			\
31	named.rst			\
32	nsec3hash.rst			\
33	nslookup.rst			\
34	nsupdate.rst			\
35	rndc-confgen.rst		\
36	rndc.conf.rst			\
37	rndc.rst			\
38	tsig-keygen.rst			\
39	../../bin/check/named-checkconf.rst \
40	../../bin/check/named-checkzone.rst \
41	../../bin/check/named-compilezone.rst \
42	../../bin/confgen/ddns-confgen.rst \
43	../../bin/confgen/rndc-confgen.rst \
44	../../bin/confgen/tsig-keygen.rst \
45	../../bin/delv/delv.rst \
46	../../bin/dig/dig.rst \
47	../../bin/dig/host.rst \
48	../../bin/dig/nslookup.rst \
49	../../bin/dnssec/dnssec-cds.rst \
50	../../bin/dnssec/dnssec-dsfromkey.rst \
51	../../bin/dnssec/dnssec-importkey.rst \
52	../../bin/dnssec/dnssec-keyfromlabel.rst \
53	../../bin/dnssec/dnssec-keygen.rst \
54	../../bin/dnssec/dnssec-revoke.rst \
55	../../bin/dnssec/dnssec-settime.rst \
56	../../bin/dnssec/dnssec-signzone.rst \
57	../../bin/dnssec/dnssec-verify.rst \
58	../../bin/named/named.conf.rst \
59	../../bin/named/named.rst \
60	../../bin/nsupdate/nsupdate.rst \
61	../../bin/plugins/filter-aaaa.rst \
62	../../bin/plugins/filter-a.rst \
63	../../bin/rndc/rndc.conf.rst \
64	../../bin/rndc/rndc.rst \
65	../../bin/tools/arpaname.rst \
66	../../bin/tools/dnstap-read.rst \
67	../../bin/tools/mdig.rst \
68	../../bin/tools/named-journalprint.rst \
69	../../bin/tools/named-nzd2nzf.rst \
70	../../bin/tools/named-rrchecker.rst \
71	../../bin/tools/nsec3hash.rst
72
73man_MANS =				\
74	arpaname.1			\
75	ddns-confgen.8			\
76	delv.1				\
77	dig.1				\
78	host.1				\
79	mdig.1				\
80	named-rrchecker.1		\
81	nslookup.1			\
82	nsupdate.1			\
83	named.conf.5			\
84	rndc.conf.5			\
85	dnssec-cds.1			\
86	dnssec-dsfromkey.1		\
87	dnssec-importkey.1		\
88	dnssec-keyfromlabel.1		\
89	dnssec-keygen.1			\
90	dnssec-revoke.1			\
91	dnssec-settime.1		\
92	dnssec-signzone.1		\
93	dnssec-verify.1			\
94	filter-aaaa.8			\
95	filter-a.8			\
96	named-checkconf.1		\
97	named-checkzone.1		\
98	named-compilezone.1		\
99	named-journalprint.1		\
100	named.8				\
101	nsec3hash.1			\
102	rndc-confgen.8			\
103	rndc.8				\
104	tsig-keygen.8
105
106if HAVE_DNSTAP
107man_MANS +=				\
108	dnstap-read.1
109endif HAVE_DNSTAP
110
111if HAVE_LMDB
112man_MANS +=				\
113	named-nzd2nzf.1
114endif HAVE_LMDB
115
116MANPAGES_IN =				\
117	$(man_MANS:=in)			\
118	dnstap-read.1in			\
119	named-nzd2nzf.1in
120
121EXTRA_DIST =				\
122	conf.py				\
123	$(MANPAGES_RST)			\
124	$(MANPAGES_IN)
125
126CLEANFILES =				\
127	$(man_MANS)
128
129#
130# Build rules for pre-generated manpages
131#
132
133man_SUBST =							\
134	$(AM_V_SED)$(SED)					\
135	  -e 's,[@]PACKAGE_VERSION@,$(PACKAGE_VERSION),'	\
136	  -e 's,[@]RELEASE_DATE@,$(RELEASE_DATE),'		\
137	  -e 's,[@]libdir[@],$(libdir),g'			\
138	  -e 's,[@]runstatedir[@],$(runstatedir),g'		\
139	  -e 's,[@]sysconfdir[@],$(sysconfdir),g'		\
140	  $(srcdir)/$@in >$@
141
142.1in.1:
143	$(man_SUBST)
144
145.5in.5:
146	$(man_SUBST)
147
148.8in.8:
149	$(man_SUBST)
150
151.NOTPARALLEL: man
152man: Makefile $(man_MANS)
153
154doc-local: man
155
156clean-local::
157	-rm -rf $(SPHINXBUILDDIR)
158
159
160CLEANFILES +=				\
161	manpages.stamp
162
163if MAINTAINER_MODE
164
165MAINTAINERCLEANFILES =			\
166	$(MANPAGES_IN)
167
168endif MAINTAINER_MODE
169
170#
171# Build rules for generating pre-generated manpages
172#
173
174if HAVE_SPHINX_BUILD
175#
176# See https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
177#
178manpages.stamp: $(MANPAGES_RST)
179	@rm -f manpages.tmp
180	@touch manpages.tmp
181	echo "${man_RST_EPILOG}"
182	$(AM_V_SPHINX)$(SPHINX_BUILD) -b man -d $(SPHINXBUILDDIR)/.doctrees/man $(man_SPHINXOPTS) $(SPHINXBUILDDIR)/man
183	for f in $(SPHINXBUILDDIR)/man/*; do \
184	  cp -a "$$f" "$(srcdir)/$$(basename $$f)in"; \
185	done
186	@mv -f manpages.tmp $@
187
188$(MANPAGES_IN): manpages.stamp
189## Recover from the removal of $@
190        @dry=; for f in x $$MAKEFLAGS; do \
191          case $$f in \
192            *=*|--*);; \
193            *n*) dry=:;; \
194          esac; \
195        done; \
196        if test -f $@; then :; else \
197          $$dry trap 'rm -rf manpages.lock manpages.stamp' 1 2 13 15; \
198          if $$dry mkdir manpages.lock 2>/dev/null; then \
199## This code is being executed by the first process.
200            $$dry rm -f manpages.stamp; \
201            $(MAKE) $(AM_MAKEFLAGS) manpages.stamp; \
202            $$dry rmdir manpages.lock; \
203          else \
204## This code is being executed by the follower processes.
205## Wait until the first process is done.
206            while test -d manpages.lock && test -z "$$dry"; do \
207              sleep 1; \
208            done; \
209## Succeed if and only if the first process succeeded.
210            $$dry test -f manpages.stamp; exit $$?; \
211          fi; \
212        fi
213
214endif HAVE_SPHINX_BUILD
215