]> mj.ucw.cz Git - nsc-5.git/blob - m4/mkmf.m4
Initial revision
[nsc-5.git] / m4 / mkmf.m4
1 dnl ###
2 dnl ### NSC 2.0 -- Makefile Builder
3 dnl ### (c) 1997 Martin Mares <mj@gts.cz>
4 dnl ###
5
6 # List of all version files available
7
8 define(`ALLVERS', CONF CACHE)
9 define(`ADDVER', `define(`ALLVERS', ALLVERS` $1')')
10
11 # Definition of primary domain
12
13 define(`PRIMARY', `divert(0)VERSDIR/$1 ZONEDIR/$1: CFDIR/$1
14         `$'(NSC) CFDIR/$1 >ZONEDIR/$1 -DVERS=VERSDIR/$1
15
16 divert(-1)
17 ADDVER(VERSDIR/$1)
18 ')
19
20 # Definition of reverse domain
21
22 define(`REVCF', ` patsubst(CFDIR/$1,`^cf/\(.*\)\+\(.*\)$',`ZONEDIR/\1+\2')')
23 define(`REVERSi', `define(`ev',revaddr($1))define(`ew',`shift(shift($@))')
24 divert(0)VERSDIR/ev ZONEDIR/ev:iterate(`REVCF', `ew')
25         `$'(NSC)iterate(`REVCF', `ew') >ZONEDIR/ev -DVERS=VERSDIR/ev -DREVERSE=$2 -DREVBASE=$1
26
27 divert(-1)
28 ADDVER(VERSDIR/ev)
29 ')
30
31 define(`REVERSE', `REVERSi($1,$@)')
32 define(`PREVERSE', `REVERSi($1,patsubst($1,`^\(.*\)\..*$',`\1'),shift($@))')
33
34 # Definition of partial reverse zone delegation (also called classless in-addr.arpa)
35
36 define(`PARTIAL', `divert(0)ZONEDIR/$1+$2:
37         `$'(PGEN) >ZONEDIR/$1+$2 -DBASE=revaddr($1) -DFROM=patsubst(`$1', `^.*\.\(.*\)$', `\1') -DCOUNT=$2 -DSERV=shift(shift($@))
38
39 divert(-1)')
40
41 # Insertion of raw makefile material
42
43 define(`MAKEFILE', `divert(0)$1
44 divert(-1)')
45
46 # Last words
47
48 define(`cleanup', `divert(0)VERSDIR/.version: ALLVERS
49 #       -killall named
50 #       named
51         ndc reload
52         touch VERSDIR/.version
53
54 clean:
55         rm -f BAKDIR/* ZONEDIR/*
56
57 clobber: clean
58         rm -f Makefile CONF
59
60 distclean: clobber
61         rm -f VERSDIR/* VERSDIR/.version
62 ')
63
64 divert(0)dnl
65 `#'
66 `#'     Nameserver Configuration Makefile
67 `#'     Generated by mkmf.m4 on curdate
68 `#'     Please don't edit manually
69 `#'
70
71 NSC=m4 NSCDIR/dnslib.m4 NSCDIR/nsc.m4
72 PGEN=m4 NSCDIR/dnslib.m4 NSCDIR/pgen.m4
73
74 all: VERSDIR/.version
75 m4wrap(`cleanup')
76 divert(-1)