|
|
TEMPLATES=$(wildcard root/*/*.zone.in) ZONES=$(addprefix stage/,$(notdir $(basename $(TEMPLATES))))
.PHONY: all clean sync push
all: $(ZONES)
push: all sync ./update.sh
clean: @for x in $(notdir $(wildcard stage/*.zone)); do \
ls -1 root/*/$$x.in > /dev/null 2>&1 || rm -v stage/$$x; \
done
sync: data @cd data/; git pull
data: git clone . data
pull: git pull --rebase root/preprocessor.sed: root/preprocessor.sh $(wildcard root/*.in) root/servers.txt @$< > $@
define ZONE_TEMPLATE stage/$(2).zone: $(1) root/preprocessor.sed @echo "$(2)" @sed -f root/preprocessor.sed \
-e 's,@@DOMAIN@@,$(2),g' \
$$< > $$@ endef
$(foreach tpl,$(TEMPLATES),$(eval $(call ZONE_TEMPLATE,$(tpl),$(patsubst %.zone.in,%,$(notdir $(tpl))))))
|