TARGETS += dummy.sh
dummy.sh: base.m4 prologue.m4 dummy-payload.m4
- $(V_M4) $^ >$@.new && chmod +x $@.new && mv $@.new $@
+ $(V_M4)-DFWHOST=testing $^ >$@.new
+ $(V_AT)chmod +x $@.new && mv $@.new $@
TARGETS += dummy-inst.sh
dummy-inst.sh: dummy.sh
$(V_AT)chmod +x $@.new && mv $@.new $@
###--------------------------------------------------------------------------
+### Other utilities.
+
+## A list of diversions in ascending numerical order.
+CLEANFILES += divs
+divs: $(M4_SOURCES) $(addsuffix .m4,$(HOSTS))
+ $(V_GEN)grep -n m4_divert $^ | \
+ grep -v 'm4_divert(-1)' | \
+ sort -t\( -k2n >$@
+
+###--------------------------------------------------------------------------
### Building.
all: $(TARGETS)
.PHONY: all
%.sh: %.m4 $(M4_SOURCES)
- $(V_M4)base.m4 $*.m4 $(MAIN_M4_SOURCES) >$@.new
+ $(V_M4)-DFWHOST=$* base.m4 $*.m4 $(MAIN_M4_SOURCES) >$@.new
$(V_AT)chmod +x $@.new && mv $@.new $@
-clean:; rm -f $(TARGETS) *.new
+clean:; rm -f $(TARGETS) *.new $(CLEANFILES)
.PHONY: clean
###--------------------------------------------------------------------------
## The local machine doesn't want the complicated SSH stuff.
THISHOST = $(shell hostname)
+OTHERHOSTS = $(filter-out $(THISHOST), $(HOSTS))
## Testing.
check: $(THISHOST).sh
## Installation on a local host,
install/$(THISHOST): $(THISHOST).sh
[ "x$(SCRIPTS)" = x ] || $(ROOT) install -m755 $(SCRIPTS) $(sbindir)
- $(ROOT) ./$(THISHOST).sh replace
+ $(ROOT) ./$(THISHOST).sh replace </dev/tty
## Installation on a remote host.
-install/%: %.sh
+$(addprefix install/, $(OTHERHOSTS)): install/%: %.sh
if [ "x$(SCRIPTS)" != x ]; then \
for i in $(SCRIPTS); do \
$(ROOT) scp $$i root@$*:$(sbindir)/$$i.new && \
done; \
fi
$(ROOT) scp $*.sh root@$*:$(FIREWALL).new
- $(ROOT) ssh root@$* $(FIREWALL) remote-prepare
- $(ROOT) ssh root@$* $(FIREWALL) remote-commit
+ $(ROOT) ssh root@$* $(FIREWALL).new remote-prepare
+ $(ROOT) ssh root@$* $(FIREWALL).new remote-commit
$(ROOT) ssh root@$* rm -f $(FIREWALL).new
## General installation target.
-install: all install/$(THISHOST) $(addprefix install/,$(HOSTS))
-.PHONY: install install/$(THISHOST)
+install: all $(addprefix install/,$(HOSTS))
+.PHONY: install $(addprefix install/,$(HOSTS))
###----- That's all, folks --------------------------------------------------