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-compilezone.8 \ 53 named-journalprint.8 \ 54 named.8 \ 55 nsec3hash.8 \ 56 rndc-confgen.8 \ 57 rndc.8 \ 58 tsig-keygen.8 59 60MANPAGES_RST = \ 61 arpaname.rst \ 62 ddns-confgen.rst \ 63 delv.rst \ 64 dig.rst \ 65 dnssec-cds.rst \ 66 dnssec-checkds.rst \ 67 dnssec-coverage.rst \ 68 dnssec-dsfromkey.rst \ 69 dnssec-importkey.rst \ 70 dnssec-keyfromlabel.rst \ 71 dnssec-keygen.rst \ 72 dnssec-keymgr.rst \ 73 dnssec-revoke.rst \ 74 dnssec-settime.rst \ 75 dnssec-signzone.rst \ 76 dnssec-verify.rst \ 77 dnstap-read.rst \ 78 filter-aaaa.rst \ 79 host.rst \ 80 mdig.rst \ 81 named-checkconf.rst \ 82 named-checkzone.rst \ 83 named-compilezone.rst \ 84 named-journalprint.rst \ 85 named-nzd2nzf.rst \ 86 named-rrchecker.rst \ 87 named.conf.rst \ 88 named.rst \ 89 nsec3hash.rst \ 90 nslookup.rst \ 91 nsupdate.rst \ 92 rndc-confgen.rst \ 93 rndc.conf.rst \ 94 rndc.rst \ 95 tsig-keygen.rst \ 96 pkcs11-destroy.rst \ 97 pkcs11-keygen.rst \ 98 pkcs11-list.rst \ 99 pkcs11-tokens.rst 100 101MANPAGES_IN = \ 102 arpaname.1in \ 103 ddns-confgen.8in \ 104 delv.1in \ 105 dig.1in \ 106 dnssec-cds.8in \ 107 dnssec-checkds.8in \ 108 dnssec-coverage.8in \ 109 dnssec-dsfromkey.8in \ 110 dnssec-importkey.8in \ 111 dnssec-keyfromlabel.8in \ 112 dnssec-keygen.8in \ 113 dnssec-keymgr.8in \ 114 dnssec-revoke.8in \ 115 dnssec-settime.8in \ 116 dnssec-signzone.8in \ 117 dnssec-verify.8in \ 118 dnstap-read.1in \ 119 filter-aaaa.8in \ 120 host.1in \ 121 mdig.1in \ 122 named-checkconf.8in \ 123 named-checkzone.8in \ 124 named-compilezone.8in \ 125 named-journalprint.8in \ 126 named-nzd2nzf.8in \ 127 named-rrchecker.1in \ 128 named.conf.5in \ 129 named.8in \ 130 nsec3hash.8in \ 131 nslookup.1in \ 132 nsupdate.1in \ 133 rndc-confgen.8in \ 134 rndc.conf.5in \ 135 rndc.8in \ 136 tsig-keygen.8in \ 137 pkcs11-destroy.8in \ 138 pkcs11-keygen.8in \ 139 pkcs11-list.8in \ 140 pkcs11-tokens.8in 141 142dnstap_man1_MANS = \ 143 dnstap-read.1 144 145nzd_man8_MANS = \ 146 named-nzd2nzf.8 147 148pkcs11_man8_MANS = \ 149 pkcs11-destroy.8 \ 150 pkcs11-keygen.8 \ 151 pkcs11-list.8 \ 152 pkcs11-tokens.8 153 154BIND9_VERSION=@BIND9_VERSION@ 155RELEASE_DATE=@RELEASE_DATE@ 156BIND9_VERSIONSTRING=@BIND9_VERSIONSTRING@ 157 158# You can set these variables from the command line. 159SPHINXBUILD = @SPHINX_BUILD@ 160SPHINXBUILDDIR = ${builddir}/_build 161SPHINX_W = -W 162 163common_SPHINXOPTS = \ 164 $(SPHINX_W) \ 165 -a \ 166 -v \ 167 -c "${abs_srcdir}" 168 169ALLSPHINXOPTS = \ 170 $(common_SPHINXOPTS) \ 171 -D version="${BIND9_VERSION}" \ 172 -D today="${RELEASE_DATE}" \ 173 -D release="${BIND9_VERSIONSTRING}" \ 174 $(SPHINXOPTS) \ 175 ${srcdir} 176 177man_SPHINXOPTS = \ 178 $(common_SPHINXOPTS) \ 179 -D version="@""BIND9_VERSION""@" \ 180 -D today="@""RELEASE_DATE""@" \ 181 -D release="@""BIND9_VERSIONSTRING""@" \ 182 $(SPHINXOPTS) \ 183 ${srcdir} 184 185# Put it first so that "make" without argument just builds manpages 186all: man 187 @: 188 189man:: ootsetup $(man1_MANS) $(man5_MANS) $(man8_MANS) @DNSTAP_MANS@ @NZD_MANS@ @PKCS11_MANS@ 190 191doc:: @HTMLTARGET@ @PDFTARGET@ 192 193html dirhtml: 194 $(SPHINXBUILD) -b $@ -d "$(SPHINXBUILDDIR)"/.doctrees/$@ $(ALLSPHINXOPTS) "$(SPHINXBUILDDIR)"/$@ 195 196# copy in out-of-tree files in case sphinx-build isn't available 197.NOTPARALLEL: 198ootsetup: $(MANPAGES_IN) 199 for man in $(MANPAGES_IN); do \ 200 [ -e "$$man" ] || cp -f ${srcdir}/"$$man" .; \ 201 done 202 203$(MANPAGES_IN): $(MANPAGES_RST) 204 $(SPHINXBUILD) -b man -d "$(SPHINXBUILDDIR)"/.doctrees/$@ $(man_SPHINXOPTS) "$(SPHINXBUILDDIR)"/man 205 -for man in $(MANPAGES_IN); do \ 206 [ -e "$(SPHINXBUILDDIR)"/man/"$$(basename $$man in)" ] && \ 207 cp -f "$(SPHINXBUILDDIR)"/man/"$$(basename $$man in)" "$$man"; \ 208 done 209 210man_SUBST = sed \ 211 -e 's,[@]BIND9_VERSION[@],$(BIND9_VERSION),' \ 212 -e 's,[@]RELEASE_DATE[@],$(RELEASE_DATE),' \ 213 -e 's,[@]BIND9_VERSION_STRING[@],$(BIND9_VERSION_STRING),' \ 214 -e 's,[@]sysconfdir[@],$(sysconfdir),' \ 215 -e 's,[@]plugindir[@],$(plugindir),' 216 217$(man1_MANS): @MANSRCS@ 218 for m in $(man1_MANS); do \ 219 $(man_SUBST) $${m}in > $$m; \ 220 done 221 222$(man5_MANS): @MANSRCS@ 223 for m in $(man5_MANS); do \ 224 $(man_SUBST) $${m}in > $$m; \ 225 done 226 227$(man8_MANS): @MANSRCS@ 228 for m in $(man8_MANS); do \ 229 $(man_SUBST) $${m}in > $$m; \ 230 done 231 232$(dnstap_man1_MANS): @MANSRCS@ 233 for m in $(dnstap_man1_MANS); do \ 234 $(man_SUBST) $${m}in > $$m; \ 235 done 236 237$(nzd_man8_MANS): @MANSRCS@ 238 for m in $(nzd_man8_MANS); do \ 239 $(man_SUBST) $${m}in > $$m; \ 240 done 241 242$(pkcs11_man8_MANS): @MANSRCS@ 243 for m in $(pkcs11_man8_MANS); do \ 244 $(man_SUBST) $${m}in > $$m; \ 245 done 246 247.PHONY: help Makefile doc pdf man 248 249installdirs: 250 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1 251 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5 252 $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8 253 254install:: installdirs 255 for m in $(man1_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man1/; done 256 for m in $(man5_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man5/; done 257 for m in $(man8_MANS); do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 258 for m in @DNSTAP_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man1/; done 259 for m in @NZD_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 260 for m in @PKCS11_MANS@; do ${INSTALL_DATA} $$m ${DESTDIR}${mandir}/man8/; done 261 262uninstall:: 263 for m in $(man1_MANS); do rm -f ${DESTDIR}${mandir}/man1/$$m; done 264 for m in $(man5_MANS); do rm -f ${DESTDIR}${mandir}/man5/$$m; done 265 for m in $(man8_MANS); do rm -f ${DESTDIR}${mandir}/man8/$$m; done 266 for m in @DNSTAP_MANS@; do rm -f ${DESTDIR}${mandir}/man1/$$m; done 267 for m in @NZD_MANS@; do rm -f ${DESTDIR}${mandir}/man8/$$m; done 268 for m in @PKCS11_MANS@; do rm -f ${DESTDIR}${mandir}/man8/$$m; done 269 270docclean manclean maintainer-clean:: 271 rm -f $(MANPAGES_IN) 272 273clean:: 274 -rm -rf $(SPHINXBUILDDIR) 275 -rm -f $(man1_MANS) $(man5_MANS) $(man8_MANS) @DNSTAP_MANS@ @NZD_MANS@ @PKCS11_MANS@ 276