From: Ralf Jung Date: Thu, 1 Jan 2015 13:57:26 +0000 (+0100) Subject: more make magic X-Git-Url: https://git.ralfj.de/zonemaker.git/commitdiff_plain/1e841a56ac7677489d027903ef434c5998486c70?hp=684fde7097441fab5cdb52265cfc8a43675af476 more make magic --- diff --git a/Makefile.sample b/Makefile.sample index 3af6904..a78edf3 100644 --- a/Makefile.sample +++ b/Makefile.sample @@ -1,7 +1,18 @@ -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 diff --git a/README.rst b/README.rst index 86fc359..feef6f0 100644 --- a/README.rst +++ b/README.rst @@ -23,7 +23,7 @@ Usage 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 ---------------