X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=m4%2Fmkmf.m4;h=7fc64e01638b0e8c47e0fe841880610e66712cdb;hb=870a01f13c0be62ab4758b0b5503d7e43978769b;hp=81489faa6b131bc753f672fffe4720cc18529879;hpb=7603da648fd69e52592c00c14b9254ccbd2e0b9e;p=nsc-5.git diff --git a/m4/mkmf.m4 b/m4/mkmf.m4 index 81489fa..7fc64e0 100644 --- a/m4/mkmf.m4 +++ b/m4/mkmf.m4 @@ -1,44 +1,29 @@ dnl ### -dnl ### NSC 2.2 -- Makefile Builder -dnl ### (c) 1997--1999 Martin Mares +dnl ### NSC -- Makefile Builder +dnl ### (c) 1997--2019 Martin Mares dnl ### +include(m4/dnslib.m4) -# Things we allow to override +# Definition of primary domains; secondaries we needn't take care of -define(`named_restart_cmd', `ndc reload') +define(`PRIMARIES', `') -# List of all version files available - -define(`ALLVERS', CONF CACHE) -define(`ADDVER', `define(`ALLVERS', ALLVERS` $1')') - -# Definition of primary domain - -define(`PRIMARY', `divert(0)VERSDIR/$1 ZONEDIR/$1: CFDIR/$1 - `$'(NSC) CFDIR/$1 >ZONEDIR/$1 -DVERS=VERSDIR/$1 +define(`nsc_prepend_cf_one', ` 'CFDIR/`nsc_file_name($1)') +define(`nsc_prepend_cf_multi', `nsc_iterate(`nsc_prepend_cf_one', $@)') +define(`nsc_key_dep', `ifelse(USE_DNSSEC,,,` 'khash/nsc_file_name($1) keys/resign-stamp)') +define(`PRIMARY', `define(`CURRENT_TARGET',zone/nsc_file_name($1)) +divert(0)CURRENT_TARGET:nsc_prepend_cf_multi($@)nsc_key_dep($1) $(DDEPS) + @bin/genzone nsc_file_name($1)`'nsc_prepend_cf_multi($@) divert(-1) -ADDVER(VERSDIR/$1) +define(`PRIMARIES', PRIMARIES zone/nsc_file_name($1)) ') -# Definition of reverse domain +define(`REVERSE', `PRIMARY(nsc_if_v6($1,`nsc_revblock6($1)',`nsc_revaddr($1)'), shift($@))') -define(`REVCF', ` patsubst(CFDIR/$1,`^cf/\(.*\)\+\(.*\)$',`ZONEDIR/\1+\2')') -define(`REVERSi', `define(`ev',revaddr($1))define(`ew',`shift(shift($@))') -divert(0)VERSDIR/ev ZONEDIR/ev:iterate(`REVCF', `ew') - `$'(NSC)iterate(`REVCF', `ew') >ZONEDIR/ev -DVERS=VERSDIR/ev -DREVERSE=$2 -DREVBASE=$1 - -divert(-1) -ADDVER(VERSDIR/ev) -') +define(`BLACKHOLE', `define(`NEED_BLACKHOLE', 1)') -define(`REVERSE', `REVERSi($1,$@)') -define(`PREVERSE', `REVERSi($1,patsubst($1,`^\(.*\)\..*$',`\1'),shift($@))') - -# Definition of partial reverse zone delegation (also called classless in-addr.arpa) - -define(`PARTIAL', `divert(0)ZONEDIR/$1+$2: - `$'(PGEN) >ZONEDIR/$1+$2 -DBASE=revaddr($1) -DFROM=patsubst(`$1', `^.*\.\(.*\)$', `\1') -DCOUNT=$2 -DSERV=shift(shift($@)) +define(`DSFOR', `divert(0)CURRENT_TARGET: dss/$1 divert(-1)') @@ -49,30 +34,36 @@ divert(-1)') # Last words -define(`cleanup', `divert(0)VERSDIR/.version: ALLVERS - named_restart_cmd - touch VERSDIR/.version +define(`nsc_cleanup', ` +ifdef(`NEED_BLACKHOLE', `PRIMARY(blackhole)') + +divert(0)dnl +ver/.version: CFDIR/domains`'PRIMARIES`'ifdef(`NEED_BLACKHOLE',` zone/blackhole') + NAMED_RESTART_CMD + touch ver/.version + +keys/resign-stamp: + touch `$'@ clean: - find BAKDIR ZONEDIR -type f -maxdepth 1 | xargs rm -f + find bak zone hash tmp -maxdepth 1 -type f | xargs rm -f clobber: clean - rm -f Makefile CONF + rm -f Makefile named.conf bin/shell-env distclean: clobber - find VERSDIR -type f -maxdepth 1 | xargs rm -f + find ver -maxdepth 1 -type f | xargs rm -f ') divert(0)dnl `#' `#' Nameserver Configuration Makefile -`#' Generated by mkmf.m4 on curdate +`#' Generated by NSCVER (mkmf.m4) on CURRENT_DATE `#' Please don't edit manually `#' -NSC=M4 NSCDIR/dnslib.m4 NSCDIR/nsc.m4 -PGEN=m4 NSCDIR/dnslib.m4 NSCDIR/pgen.m4 +DDEPS=m4/nsc.m4 m4/dnslib.m4 cf/config -all: VERSDIR/.version -m4wrap(`cleanup') +all: ver/.version +m4wrap(`nsc_cleanup') divert(-1)