]> mj.ucw.cz Git - nsc-5.git/blobdiff - m4/mkmf.m4
More v3.0 work.
[nsc-5.git] / m4 / mkmf.m4
index 4c40ff373d151acb94d807b2ec06ba93d0e3c718..36c3b8f8a59ef41942c10013c26a9a6749e4f76e 100644 (file)
@@ -1,42 +1,23 @@
 dnl ###
-dnl ### NSC 2.0 -- Makefile Builder
-dnl ### (c) 1997 Martin Mares <mj@gts.cz>
+dnl ### NSC -- Makefile Builder
+dnl ### (c) 1997--2003 Martin Mares <mj@ucw.cz>
 dnl ###
+include(m4/dnslib.m4)
 
-# List of all version files available
+# Definition of primary domains; secondaries we needn't take care of
 
-define(`ALLVERS', CONF CACHE)
-define(`ADDVER', `define(`ALLVERS', ALLVERS` $1')')
+define(`PRIMARIES', `')
 
-# Definition of primary domain
-
-define(`PRIMARY', `divert(0)VERSDIR/$1 ZONEDIR/$1: CFDIR/$1
-       `$'(NSC) CFDIR/$1 >ZONEDIR/$1 -DVERS=VERSDIR/$1
-
-divert(-1)
-ADDVER(VERSDIR/$1)
-')
-
-# Definition of reverse domain
-
-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
+define(`nsc_prepend_cf_one', ` 'CFDIR/`nsc_file_name($1)')
+define(`nsc_prepend_cf_multi', `nsc_iterate(`nsc_prepend_cf_one', $@)')
+define(`PRIMARY', `divert(0)ZONEDIR/nsc_file_name($1):nsc_prepend_cf_multi($@) $(DDEPS)
+       `$'(NSC)nsc_prepend_cf_multi($@) >ZONEDIR/nsc_file_name($1) -DVERS=VERSDIR/nsc_file_name($1)
 
 divert(-1)
-ADDVER(VERSDIR/ev)
+define(`PRIMARIES', PRIMARIES ZONEDIR/nsc_file_name($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($@))
-
-divert(-1)')
+define(`REVERSE', `PRIMARY(nsc_if_v6($1,`nsc_revblock6($1)',`nsc_revaddr($1)'), shift($@))')
 
 # Insertion of raw makefile material
 
@@ -45,32 +26,31 @@ divert(-1)')
 
 # Last words
 
-define(`cleanup', `divert(0)VERSDIR/.version: ALLVERS
-#      -killall named
-#      named
-       ndc reload
+define(`nsc_cleanup', `divert(0)VERSDIR/.version: CFDIR/domains ROOTCACHE`'PRIMARIES
+       NAMED_RESTART_CMD
        touch VERSDIR/.version
 
 clean:
-       rm -f BAKDIR/* ZONEDIR/*
+       find BAKDIR ZONEDIR -type f -maxdepth 1 | xargs rm -f
 
 clobber: clean
-       rm -f Makefile CONF
+       rm -f Makefile named.conf
 
 distclean: clobber
-       rm -f VERSDIR/* VERSDIR/.version
+       find VERSDIR -type f -maxdepth 1 | 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
+`M4'=M4
+NSC=$(`M4') m4/nsc.m4
+DDEPS=m4/nsc.m4 m4/dnslib.m4 cf/config
 
 all: VERSDIR/.version
-m4wrap(`cleanup')
+m4wrap(`nsc_cleanup')
 divert(-1)