From d7af5ae71156722cdaef603204a6181b1ef72fdd Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 19 Jul 2011 21:45:39 +0100 Subject: [PATCH] Makefile: Installation rules. Primarily for zoneconf, though the hooks are pretty generic. --- Makefile | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 17fa80f..6afd12b 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,18 @@ V_AT_0 = @ ###-------------------------------------------------------------------------- ### Programs and options. +## Zone checking. CHECKZONE = named-checkzone -i full \ -k fail -M fail -n fail -S fail -W fail +## Zone installation. +MASTER = localhost +ifeq ($(MASTER),localhost) +ZONEINST = userv zoneconf install +else +ZONEINST = ssh zoneconf@$(MASTER) +endif + ###-------------------------------------------------------------------------- ### Utility functions. @@ -83,7 +92,8 @@ ALL_ZONESTAMPS = $(foreach s,$(ZONESETS), \ $(ALL_ZONESTAMPS) : %.zonestamp : $$(notdir $$*).lisp hosts.lisp $(V_AT)mkdir -p $(dir $*) $(V_ZONE) -d$(dir $*) -fview/$(call dir-nosl,$*)$(hack \ - hack) $(addprefix -s, $($(notdir $*)_$(call dir-nosl,$*)_NETS)) $< + hack) $(addprefix -s, \ + $($(notdir $*)_$(call dir-nosl,$*)_NETS)) $< $(V_AT)touch $@ all: $(ALL_ZONESTAMPS) CLEANFILES += $(sort $(foreach s,$(ZONESETS), \ @@ -113,6 +123,17 @@ $(ALL_ZONECHECKS) : %.check : %.zone check: $(ALL_ZONECHECKS) .PHONY: check $(ALL_ZONECHECKS) +## Finally we have to install the zone files. +ALL_INSTALLS = $(foreach s,$(ZONESETS), \ + $(foreach v,$($s_VIEWS), \ + $(foreach z,$($s_all_ZONES) $($s_$v_ZONES), \ + $v/$z.inst))) +$(ALL_INSTALLS) : %.inst : %.check + $(call v_tag,INST)$(ZONEINST) \ + $(call dir-nosl,$*) $(notdir $*) <$*.zone +install: $(ALL_INSTALLS) +.PHONY: install $(ALL_INSTALLS) + ## Files to clean. clean: rm -f $(CLEANFILES) -- 2.11.0