chiark / gitweb /
Makefile: Some tidying.
[dnserr] / Makefile
CommitLineData
2ff79b43
MW
1### -*-makefile-*-
2
3BASE = distorted.org.uk
4ZONE = dnserr.$(BASE)
5
5f465544 6KEYGEN = dnssec-keygen -aRSASHA256 -b1024 -r/dev/urandom -Kkey/
2ff79b43 7SIGNZONE = dnssec-signzone -S -Kkey/ -dds/
b846721d 8SIGVALID = -s20000101000000 -e20300101000000
2ff79b43
MW
9SIGOLD = -s20000101000000 -e20010101000000
10
11all:
12
13DUMMY = refused wrong-ds
14DUMMYZONES = $(addsuffix .zone,$(DUMMY))
15TARGETS += $(DUMMYZONES)
16$(DUMMYZONES): %.zone: utils.m4 dummy.in
17 m4 -P -DBASE=$(BASE) >$@.new utils.m4 dummy.in
18 mv $@.new $@
19
20TARGETS += dnserr.zone
21dnserr.zone: utils.m4 config.m4 dnserr.in
22 m4 -P -DBASE=$(BASE) >$@.new utils.m4 dnserr.in
23 mv $@.new $@
24
25KEYSTAMP = $(patsubst %,key/%.stamp, \
26 $(ZONE) \
27 $(addsuffix .$(ZONE),$(DUMMY)))
28$(KEYSTAMP): key/%.stamp:
29 mkdir -p key
30 $(KEYGEN) -fKSK $*
31 $(KEYGEN) $*
32 touch $@
33all: $(KEYSTAMP)
34realclean::; rm -rf key/
35
36DUMMYSIG = $(addsuffix .zone.sig,$(DUMMY))
37TARGETS += $(DUMMYSIG)
38$(DUMMYSIG): %.zone.sig: %.zone
39wrong-ds.zone.sig: wrong-ds.zone key/wrong-ds.$(ZONE).stamp
40 mkdir -p ds/
41 $(SIGNZONE) $(SIGVALID) -owrong-ds.$(ZONE) -f$@ $<
42clean::; rm -rf ds/
43
44TARGETS += dnserr.zone.signew
45dnserr.zone.signew: dnserr.zone key/$(ZONE).stamp
46 $(SIGNZONE) $(SIGVALID) -o$(ZONE) -f$@.bind $<
47 ldns-read-zone $@.bind >$@.new
48 rm $@.bind
49 mv $@.new $@
50
51TARGETS += dnserr.zone.sigold
52dnserr.zone.sigold: dnserr.zone key/$(ZONE).stamp
53 $(SIGNZONE) $(SIGOLD) -P -o$(ZONE) -f$@.bind $<
54 ldns-read-zone $@.bind >$@.new
55 rm $@.bind
56 mv $@.new $@
57
58TARGETS += dnserr.zone.sig
59OLDSIGMATCH = $$1 == "expired-rrsig.$(ZONE)." && \
60 $$4 == "RRSIG" && $$5 == "A"
61BADSIGMATCH = $$1 == "invalid-rrsig.$(ZONE)." && \
62 $$4 == "RRSIG" && $$5 == "A"
63CLEAN += t.oldsig
64dnserr.zone.sig: dnserr.zone.sigold dnserr.zone.signew
65 awk '$(OLDSIGMATCH) { print; }' \
66 dnserr.zone.sigold >t.oldsig
67 awk '$(OLDSIGMATCH) { system("cat t.oldsig"); next; } \
68 { gsub(/invalid-rrsigx/, "invalid-rrsig"); print; }' \
5d3790e3
MW
69 dnserr.zone.signew >$@.new
70 rm t.oldsig
2ff79b43
MW
71 mv $@.new $@
72
73CLEAN += $(TARGETS)
74all: $(TARGETS)
75.PHONY: all
76
77clean::; rm -f $(CLEAN)
78realclean:: clean; rm -f $(REALCLEAN)
79.PHONY: clean realclean