local.mk: Introduce new target for testing.
[firewall] / local.mk
index ccdd6a4..df5e26d 100644 (file)
--- a/local.mk
+++ b/local.mk
@@ -4,3 +4,30 @@ MAIN_M4_SOURCES                += local.m4
 
 HOSTS                  += metalzone
 HOSTS                  += vampire
+THISHOST                = $(shell hostname)
+
+ROOT                    = sudo
+
+## Testing.
+check: $(THISHOST).sh
+       firewall_script=./$(THISHOST).sh && \
+       firewall_failsafe=/etc/init.d/firewall && \
+       export firewall_script firewall_failsafe && \
+       [ -x $$firewall_failsafe ] && \
+       $(ROOT) ./$$firewall_script
+
+## Installation.
+install: all check
+       for i in $(HOSTS); do \
+         $(ROOT) scp $$i.sh $$i:/etc/init.d/firewall; \
+         if [ "$(SCRIPTS)" ]; then \
+           for j in $(SCRIPTS); do \
+             $(ROOT) ssh $$i <$$j " \
+                 cd /usr/local/sbin && \
+                 rm -f $$j.new && \
+                 cat >$$j.new && \
+                 chmod 755 $$j.new && \
+                 mv $$j.new $$j"; \
+           done; \
+         fi; \
+       done