1# Copyright (C) Internet Systems Consortium, Inc. ("ISC") 2# 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6# 7# See the COPYRIGHT file distributed with this work for additional 8# information regarding copyright ownership. 9 10srcdir = @srcdir@ 11VPATH = @srcdir@ 12top_srcdir = @top_srcdir@ 13abs_srcdir = @abs_srcdir@ 14builddir = @builddir@ 15top_builddir = @top_builddir@ 16 17@BIND9_MAKE_RULES@ 18 19man1_MANS = \ 20 arpaname.1 \ 21 delv.1 \ 22 dig.1 \ 23 host.1 \ 24 mdig.1 \ 25 named-rrchecker.1 \ 26 nslookup.1 \ 27 nsupdate.1 28 29man5_MANS = \ 30 named.conf.5 \ 31 rndc.conf.5 32 33man8_MANS = \ 34 ddns-confgen.8 \ 35 dnssec-cds.8 \ 36 dnssec-checkds.8 \ 37 dnssec-coverage.8 \ 38 dnssec-dsfromkey.8 \ 39 dnssec-importkey.8 \ 40 dnssec-keyfromlabel.8 \ 41 dnssec-keygen.8 \ 42 dnssec-keymgr.8 \ 43 dnssec-revoke.8 \ 44 dnssec-settime.8 \ 45 dnssec-signzone.8 \ 46 dnssec-verify.8 \ 47 filter-aaaa.8 \ 48 named-checkconf.8 \ 49 named-checkzone.8 \ 50 named-journalprint.8 \ 51 named.8 \ 52 nsec3hash.8 \ 53 rndc-confgen.8 \ 54 rndc.8 55 56MANPAGES_RST = \ 57 arpaname.rst \ 58 ddns-confgen.rst \ 59 delv.rst \ 60 dig.rst \ 61 dnssec-cds.rst \ 62 dnssec-checkds.rst \ 63 dnssec-coverage.rst \ 64 dnssec-dsfromkey.rst \ 65 dnssec-importkey.rst \ 66 dnssec-keyfromlabel.rst \ 67 dnssec-keygen.rst \ 68 dnssec-keymgr.rst \ 69 dnssec-revoke.rst \ 70 dnssec-settime.rst \ 71 dnssec-signzone.rst \ 72 dnssec-verify.rst \ 73 dnstap-read.rst \ 74 filter-aaaa.rst \ 75 host.rst \ 76 mdig.rst \ 77 named-checkconf.rst \ 78 named-checkzone.rst \ 79 named-journalprint.rst \ 80 named-nzd2nzf.rst \ 81 named-rrchecker.rst \ 82 named.conf.rst \ 83 named.rst \ 84 nsec3hash.rst \ 85 nslookup.rst \ 86 nsupdate.rst \ 87 rndc-confgen.rst \ 88 rndc.conf.rst \ 89 rndc.rst \ 90 pkcs11-destroy.rst \ 91 pkcs11-keygen.rst \ 92 pkcs11-list.rst \ 93 pkcs11-tokens.rst 94 95MANPAGES_IN = \ 96 arpaname.1in \ 97 ddns-confgen.8in \ 98 delv.1in \ 99 dig.1in \ 100 dnssec-cds.8in \ 101 dnssec-checkds.8in \ 102 dnssec-coverage.8in \ 103 dnssec-dsfromkey.8in \ 104 dnssec-importkey.8in \ 105 dnssec-keyfromlabel.8in \ 106 dnssec-keygen.8in \ 107 dnssec-keymgr.8in \ 108 dnssec-revoke.8in \ 109 dnssec-settime.8in \ 110 dnssec-signzone.8in \ 111 dnssec-verify.8in \ 112 dnstap-read.1in \ 113 filter-aaaa.8in \ 114 host.1in \ 115 mdig.1in \ 116 named-checkconf.8in \ 117 named-checkzone.8in \ 118 named-journalprint.8in \ 119 named-nzd2nzf.8in \ 120 named-rrchecker.1in \ 121 named.conf.5in \ 122 named.8in \ 123 nsec3hash.8in \ 124 nslookup.1in \ 125 nsupdate.1in \ 126 rndc-confgen.8in \ 127 rndc.conf.5in \ 128 rndc.8in \ 129 pkcs11-destroy.8in \ 130 pkcs11-keygen.8in \ 131 pkcs11-list.8in \ 132 pkcs11-tokens.8in 133 134dnstap_man1_MANS = \ 135 dnstap-read.1 136 137nzd_man8_MANS = \ 138 named-nzd2nzf.8 139 140pkcs11_man8_MANS = \ 141 pkcs11-destroy.8 \ 142 pkcs11-keygen.8 \ 143 pkcs11-list.8 \ 144 pkcs11-tokens.8 145 146BIND9_VERSION=@BIND9_VERSION@ 147RELEASE_DATE=@RELEASE_DATE@ 148BIND9_VERSIONSTRING=@BIND9_VERSIONSTRING@ 149 150# You can set these variables from the command line. 151SPHINXBUILD = @SPHINX_BUILD@ 152SPHINXBUILDDIR = ${builddir}/_build 153 154common_SPHINXOPTS = \ 155 -W \ 156 -a \ 157 -v \ 158 -c "${abs_srcdir}" 159 160ALLSPHINXOPTS = \ 161 $(common_SPHINXOPTS) \ 162 -D version="${BIND9_VERSION}" \ 163 -D today="${RELEASE_DATE}" \ 164 -D release="${BIND9_VERSIONSTRING}" \ 165 $(SPHINXOPTS) \ 166 ${srcdir} 167 168man_SPHINXOPTS = \ 169 $(common_SPHINXOPTS) \ 170 -D version="@""BIND9_VERSION""@" \ 171 -D today="@""RELEASE_DATE""@" \ 172 -D release="@""BIND9_VERSIONSTRING""@" \ 173 $(SPHINXOPTS) \ 174 ${srcdir} 175 176# Put it first so that "make" without argument just builds manpages 177all: man 178 @: 179 180man:: ootsetup $(man1_MANS) $(man5_MANS) $(man8_MANS) @DNSTAP_MANS@ @NZD_MANS@ @PKCS11_MANS@ 181 182doc:: @HTMLTARGET@ @PDFTARGET@ 183 184html dirhtml: 185 $(SPHINXBUILD) -b $@ -d "$(SPHINXBUILDDIR)"/.doctrees/$@ $(ALLSPHINXOPTS) "$(SPHINXBUILDDIR)"/$@ 186 187# copy in out-of-tree files in case sphinx-build isn't available 188.NOTPARALLEL: 189ootsetup: $(MANPAGES_IN) 190 for man in $(MANPAGES_IN); do \ 191 [ -e "$$man" ] || cp -f ${srcdir}/"$$man" .; \ 192 done 193 194$(MANPAGES_IN): $(MANPAGES_RST) 195 $(SPHINXBUILD) -b man -d "$(SPHINXBUILDDIR)"/.doctrees/$@ $(man_SPHINXOPTS) "$(SPHINXBUILDDIR)"/man 196 -for man in $(MANPAGES_IN); do \ 197 [ -e "$(SPHINXBUILDDIR)"/man/"$$(basename $$man in)" ] && \ 198 cp -f "$(SPHINXBUILDDIR)"/man/"$$(basename $$man in)" "$$man"; \ 199 done 200 201man_SUBST = sed \ 202 -e 's,[@]BIND9_VERSION[@],$(BIND9_VERSION),' \ 203 -e 's,[@]RELEASE_DATE[@],$(RELEASE_DATE),' \ 204 -e 's,[@]BIND9_VERSION_STRING[@],$(BIND9_VERSION_STRING),' \ 205 -e 's,[@]sysconfdir[@],$(sysconfdir),' \ 206 -e 's,[@]plugindir[@],$(plugindir),' 207 208$(man1_MANS): @MANSRCS@ 209 for m in $(man1_MANS); do \ 210 $(man_SUBST) $${m}in > $$m; \ 211 done 212 213$(man5_MANS): @MANSRCS@ 214 for m in $(man5_MANS); do \ 215 $(man_SUBST) $${m}in > $$m; \ 216 done 217 218$(man8_MANS): @MANSRCS@ 219 for m in $(man8_MANS); do \ 220 $(man_SUBST) $${m}in > $$m; \ 221 done 222 223$(dnstap_man1_MANS): @MANSRCS@ 224 for m in $(dnstap_man1_MANS); do \ 225 $(man_SUBST) $${m}in > $$m; \ 226 done 227 228$(nzd_man8_MANS): @MANSRCS@ 229 for m in $(nzd_man8_MANS); do \ 230 $(man_SUBST) $${m}in > $$m; \ 231 done 232 233$(pkcs11_man8_MANS): @MANSRCS@ 234 for m in $(pkcs11_man8_MANS); do \ 235 $(man_SUBST) $${m}in > $$m; \ 236 done 237 238.PHONY: help Makefile doc pdf man 239 240installdirs: 241 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1 242 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5 243 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8 244 245install:: installdirs 246 for m in $(man1_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man1/; done 247 for m in $(man5_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man5/; done 248 for m in $(man8_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 249 ( cd ${DESTDIR}${mandir}/man8/; rm -f named-compilezone.8; ${LINK_PROGRAM} named-checkzone.8 named-compilezone.8 ) 250 ( cd ${DESTDIR}${mandir}/man8/; rm -f tsig-keygen.8; ${LINK_PROGRAM} ddns-confgen.8 tsig-keygen.8 ) 251 for m in @DNSTAP_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man1/; done 252 for m in @NZD_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 253 for m in @PKCS11_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 254 255uninstall:: 256 for m in $(man1_MANS); do rm -f ${DESTDIR}${mandir}/man1/$$m; done 257 for m in $(man5_MANS); do rm -f ${DESTDIR}${mandir}/man5/$$m; done 258 for m in $(man8_MANS); do rm -f ${DESTDIR}${mandir}/man8/$$m; done 259 rm -f ${DESTDIR}${mandir}/man8/named-compilezone.8 260 rm -f ${DESTDIR}${mandir}/man8/tsig-keygen.8 261 for m in @DNSTAP_MANS@; do rm -f ${DESTDIR}${mandir}/man1/$$m; done 262 for m in @NZD_MANS@; do rm -f ${DESTDIR}${mandir}/man8/$$m; done 263 for m in @PKCS11_MANS@; do rm -f ${DESTDIR}${mandir}/man8/$$m; done 264 265docclean manclean maintainer-clean:: 266 rm -f $(MANPAGES_IN) 267 268clean:: 269 -rm -rf $(SPHINXBUILDDIR) 270 -rm -f $(man1_MANS) $(man5_MANS) $(man8_MANS) @DNSTAP_MANS@ @NZD_MANS@ @PKCS11_MANS@ 271