X-Git-Url: https://git.distorted.org.uk/~mdw/exim-config/blobdiff_plain/c376fbe7c35f1efc79810fc12a0cfe3ca5d0d7e2..55595c08d19c504ca7b5381ccdeea319aed87ff3:/Makefile diff --git a/Makefile b/Makefile index fca5165..49a1179 100644 --- a/Makefile +++ b/Makefile @@ -57,10 +57,15 @@ MAIN = lists.m4 base.m4 MODES = MODES += satellite -OPTIONS_satellite = satellite.m4 +OPTIONS_satellite = satellite.m4 sat-rewrite.m4 + +MODES += srv +CONF_srv = sysdomains= +OPTIONS_srv = exchange.m4 spam.m4 vhost.m4 sat-rewrite.m4 MODES += hub -OPTIONS_hub = auth.m4 exchange.m4 local.m4 spam.m4 vhost.m4 +OPTIONS_hub = auth.m4 exchange.m4 local.m4 spam.m4 +OPTIONS_hub += user-spam.m4 vhost.m4 MODES += usersat OPTIONS_usersat = auth.m4 local.m4 satellite.m4 @@ -76,8 +81,8 @@ HOST_MODES += $(foreach m, $(MODES), \ CONFIGS = $(foreach m, $(MODES), exim4-$m.conf) TARGETS += $(CONFIGS) $(CONFIGS): exim4-%.conf: $(EARLY) $$(HOOKS_$$*) $(MAIN) $$(OPTIONS_$$*) - $(V_GEN)m4 -P -DMODE=$* $^ >$@.new - $(V_AT)$(CHECK_$*)exim4 -C$@.new -bV >/dev/null + $(V_GEN)m4 -P -DMODE=$* $(CONF_$*:%=-DCONF_%) $^ >$@.new + $(V_AT)$(CHECK_$*)exim4 -C$$(pwd)/$@.new -bV >/dev/null $(V_AT)mv $@.new $@ all: $(TARGETS) @@ -94,17 +99,19 @@ OTHERHOSTS = $(filter-out $(THISHOST), $(HOSTS)) ROOT = sudo -install/$(THISHOST): exim4-$(call host-mode,$(THISHOST)).conf - $(ROOT) install -m644 $< /etc/exim4/exim4.conf - $(ROOT) service exim4 reload +install_rune = \ + exim4 -C/etc/exim4/exim4.conf.new -bV >/dev/null && \ + mv /etc/exim4/exim4.conf.new /etc/exim4/exim4.conf && \ + service exim4 reload -show: - : $(addprefix install/, $(OTHERHOSTS)) +install/$(THISHOST): exim4-$(call host-mode,$(THISHOST)).conf + $(ROOT) cp $< /etc/exim4/exim4.conf.new + $(ROOT) sh -c '$(install_rune)' $(addprefix install/, $(OTHERHOSTS)): \ install/%: exim4-$$(call host-mode,$$*).conf - $(ROOT) scp $< root@$*:/etc/exim4/exim4.conf - $(ROOT) ssh root@$* service exim4 reload + $(ROOT) scp $< root@$*:/etc/exim4/exim4.conf.new + $(ROOT) ssh root@$* '$(install_rune)' install: $(addprefix install/, $(HOSTS))