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))))))
|