Catch errors in for loop in makefile

Add "|| exit" so that the rule aborts when a command fails.

This is the minimal backpatch version.  The fix in head is more
elaborate.
This commit is contained in:
Peter Eisentraut 2011-05-02 00:49:18 +03:00
parent aa719c4853
commit fbbe0186dc

View File

@ -91,26 +91,26 @@ install: all installdirs
ifneq (,$(DATA)$(DATA_built))
@for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built); do \
echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/contrib'"; \
$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/contrib'; \
$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/contrib' || 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)/contrib'"; \
$(INSTALL_DATA) $$file '$(DESTDIR)$(docdir)/contrib'; \
$(INSTALL_DATA) $$file '$(DESTDIR)$(docdir)/contrib' || exit; \
done
endif # docdir
endif # DOCS
@ -120,13 +120,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