Makefile.am revision 1.1 1 include $(top_srcdir)/Makefile.top
2 include $(top_srcdir)/Makefile.docs
3
4 MANPAGES_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
73 man_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
106 if HAVE_DNSTAP
107 man_MANS += \
108 dnstap-read.1
109 endif HAVE_DNSTAP
110
111 if HAVE_LMDB
112 man_MANS += \
113 named-nzd2nzf.1
114 endif HAVE_LMDB
115
116 MANPAGES_IN = \
117 $(man_MANS:=in) \
118 dnstap-read.1in \
119 named-nzd2nzf.1in
120
121 EXTRA_DIST = \
122 conf.py \
123 $(MANPAGES_RST) \
124 $(MANPAGES_IN)
125
126 CLEANFILES = \
127 $(man_MANS)
128
129 #
130 # Build rules for pre-generated manpages
131 #
132
133 man_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
152 man: Makefile $(man_MANS)
153
154 doc-local: man
155
156 clean-local::
157 -rm -rf $(SPHINXBUILDDIR)
158
159
160 CLEANFILES += \
161 manpages.stamp
162
163 if MAINTAINER_MODE
164
165 MAINTAINERCLEANFILES = \
166 $(MANPAGES_IN)
167
168 endif MAINTAINER_MODE
169
170 #
171 # Build rules for generating pre-generated manpages
172 #
173
174 if HAVE_SPHINX_BUILD
175 #
176 # See https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
177 #
178 manpages.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
214 endif HAVE_SPHINX_BUILD
215