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:51:12 +03:00
parent fd384cfc34
commit 9c52bad398

View File

@ -95,26 +95,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
@ -127,13 +127,13 @@ endif # MODULE_big
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