-# 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
-
-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)