Catch errors in for loop in makefile
authorPeter Eisentraut <[email protected]>
Sun, 1 May 2011 21:47:09 +0000 (00:47 +0300)
committerPeter Eisentraut <[email protected]>
Sun, 1 May 2011 22:03:38 +0000 (01:03 +0300)
Add "|| exit" so that the rule aborts when a command fails.

This is the minimal backpatch version.  The fix in head is more
elaborate.

src/makefiles/pgxs.mk

index 7910c35bca075d42457610a71603fec3d5d0c47b..a9cc7cabc490701111bd0ae7d2557d347e13d556 100644 (file)
@@ -98,26 +98,26 @@ install: all installdirs
 ifneq (,$(DATA)$(DATA_built))
    @for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built); do \
      echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/$(datamoduledir)'"; \
-     $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/$(datamoduledir)'; \
+     $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/$(datamoduledir)' || exit; \
    done
 endif # DATA
 ifneq (,$(DATA_TSEARCH))
    @for file in $(addprefix $(srcdir)/, $(DATA_TSEARCH)); do \
      echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/tsearch_data'"; \
-     $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/tsearch_data'; \
+     $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/tsearch_data' || exit; \
    done
 endif # DATA_TSEARCH
 ifdef MODULES
    @for file in $(addsuffix $(DLSUFFIX), $(MODULES)); do \
      echo "$(INSTALL_SHLIB) $$file '$(DESTDIR)$(pkglibdir)'"; \
-     $(INSTALL_SHLIB) $$file '$(DESTDIR)$(pkglibdir)'; \
+     $(INSTALL_SHLIB) $$file '$(DESTDIR)$(pkglibdir)' || exit; \
    done
 endif # MODULES
 ifdef DOCS
 ifdef docdir
    @for file in $(addprefix $(srcdir)/, $(DOCS)); do \
      echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(docdir)/$(docmoduledir)'"; \
-     $(INSTALL_DATA) $$file '$(DESTDIR)$(docdir)/$(docmoduledir)'; \
+     $(INSTALL_DATA) $$file '$(DESTDIR)$(docdir)/$(docmoduledir)' || exit; \
    done
 endif # docdir
 endif # DOCS
@@ -127,13 +127,13 @@ endif # PROGRAM
 ifdef SCRIPTS
    @for file in $(addprefix $(srcdir)/, $(SCRIPTS)); do \
      echo "$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)'"; \
-     $(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)'; \
+     $(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)' || exit; \
    done
 endif # SCRIPTS
 ifdef SCRIPTS_built
    @for file in $(SCRIPTS_built); do \
      echo "$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)'"; \
-     $(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)'; \
+     $(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)' || exit; \
    done
 endif # SCRIPTS_built