-all: db.example.com
+# edit list of zones and other configuration here
+zones := example.com
+user := user
+zonemaker := ~user/zonemaker/zonemaker
-db.example.com: db.example.com.py
- @sudo -u user ~user/zonemaker/zone-maker $< > $@ || rm -f $@
+# heres comes the magic
+zonefiles = $(addprefix db.,${zones})
+all: ${zonefiles}
+.PHONY: all
+
+db.%: db.%.py
+ @echo $* $< $@
+ @sudo -u ${user} ${zonemaker} $< > $@ || rm -f $@
@cat $@
@echo
- @rndc reload example.com || rm -f $@
+ @rndc reload $* # this only returns errors if the zone had not previously been loaded :-/
+ @sleep 1
+ @fgrep 'zone '$*'/IN' /var/log/syslog | tail -n 5
Simply call ``zonemaker`` with the zone python file as argument. The result will
be printed to stdout. See ``db.example.com.py`` for a sample file demonstrating
the use of the interface. ``Makefile.sample`` shows how a makefile which first
-updates the zone, and then tells BIND to reload, could look like.
+updates the zone(s), and then tells BIND to reload, could look like.
Source, License
---------------