]> mj.ucw.cz Git - nsc-5.git/blob - m4/mkmf.m4
29c8fd548639bff4a41b13653c0fe39a764ec135
[nsc-5.git] / m4 / mkmf.m4
1 dnl ###
2 dnl ### NSC -- Makefile Builder
3 dnl ### (c) 1997--2019 Martin Mares <mj@ucw.cz>
4 dnl ###
5 include(m4/dnslib.m4)
6
7 # Definition of primary domains; secondaries we needn't take care of
8
9 define(`PRIMARIES', `')
10
11 define(`nsc_prepend_cf_one', ` 'CFDIR/`nsc_file_name($1)')
12 define(`nsc_prepend_cf_multi', `nsc_iterate(`nsc_prepend_cf_one', $@)')
13 define(`nsc_key_dep', `ifelse(USE_DNSSEC,,,` 'khash/$1 keys/resign-stamp)')
14 define(`PRIMARY', `define(`CURRENT_TARGET',zone/nsc_file_name($1))
15 divert(0)CURRENT_TARGET:nsc_prepend_cf_multi($@)nsc_key_dep($1) $(DDEPS)
16         @bin/genzone nsc_file_name($1)`'nsc_prepend_cf_multi($@)
17
18 divert(-1)
19 define(`PRIMARIES', PRIMARIES zone/nsc_file_name($1))
20 ')
21
22 define(`REVERSE', `PRIMARY(nsc_if_v6($1,`nsc_revblock6($1)',`nsc_revaddr($1)'), shift($@))')
23
24 define(`BLACKHOLE', `define(`NEED_BLACKHOLE', 1)')
25
26 define(`DSFOR', `divert(0)CURRENT_TARGET: dss/$1
27
28 divert(-1)')
29
30 # Insertion of raw makefile material
31
32 define(`MAKEFILE', `divert(0)$1
33 divert(-1)')
34
35 # Last words
36
37 define(`nsc_cleanup', `
38 ifdef(`NEED_BLACKHOLE', `PRIMARY(blackhole)')
39
40 divert(0)dnl
41 ver/.version: CFDIR/domains ROOTCACHE`'PRIMARIES`'ifdef(`NEED_BLACKHOLE',` zone/blackhole')
42         NAMED_RESTART_CMD
43         touch ver/.version
44
45 keys/resign-stamp:
46         touch `$'@
47
48 clean:
49         find bak zone hash tmp -maxdepth 1 -type f | xargs rm -f
50
51 clobber: clean
52         rm -f Makefile named.conf bin/shell-env
53
54 distclean: clobber
55         find ver -maxdepth 1 -type f | xargs rm -f
56 ')
57
58 divert(0)dnl
59 `#'
60 `#'     Nameserver Configuration Makefile
61 `#'     Generated by NSCVER (mkmf.m4) on CURRENT_DATE
62 `#'     Please don't edit manually
63 `#'
64
65 DDEPS=m4/nsc.m4 m4/dnslib.m4 cf/config
66
67 all: ver/.version
68 m4wrap(`nsc_cleanup')
69 divert(-1)