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