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