Catch all errors in for and while loops in makefiles. Don't ignore any

errors in any commands, including in various clean targets that have so far
been handled inconsistently.  make -i is available to ignore all errors in
a consistent and official way.
This commit is contained in:
Peter Eisentraut 2008-03-18 16:24:50 +00:00
parent 184c42d20d
commit 8c87cc370f
17 changed files with 66 additions and 98 deletions

View File

@ -1,7 +1,7 @@
# #
# PostgreSQL top level makefile # PostgreSQL top level makefile
# #
# $PostgreSQL: pgsql/GNUmakefile.in,v 1.46 2007/02/09 15:55:57 petere Exp $ # $PostgreSQL: pgsql/GNUmakefile.in,v 1.47 2008/03/18 16:24:50 petere Exp $
# #
subdir = subdir =
@ -44,11 +44,11 @@ clean:
# Important: distclean `src' last, otherwise Makefile.global # Important: distclean `src' last, otherwise Makefile.global
# will be gone too soon. # will be gone too soon.
distclean maintainer-clean: distclean maintainer-clean:
-$(MAKE) -C doc $@ $(MAKE) -C doc $@
-$(MAKE) -C contrib $@ $(MAKE) -C contrib $@
-$(MAKE) -C config $@ $(MAKE) -C config $@
-$(MAKE) -C src $@ $(MAKE) -C src $@
-rm -f config.cache config.log config.status GNUmakefile rm -f config.cache config.log config.status GNUmakefile
# Garbage from autoconf: # Garbage from autoconf:
@rm -rf autom4te.cache/ @rm -rf autom4te.cache/
@ -72,7 +72,7 @@ ifeq ($(split-dist), yes)
dist: postgresql-base-$(VERSION).tar.gz postgresql-docs-$(VERSION).tar.gz postgresql-opt-$(VERSION).tar.gz postgresql-test-$(VERSION).tar.gz dist: postgresql-base-$(VERSION).tar.gz postgresql-docs-$(VERSION).tar.gz postgresql-opt-$(VERSION).tar.gz postgresql-test-$(VERSION).tar.gz
endif endif
dist: dist:
-rm -rf $(distdir) rm -rf $(distdir)
$(distdir).tar: distdir $(distdir).tar: distdir
$(TAR) chf $@ $(distdir) $(TAR) chf $@ $(distdir)
@ -97,7 +97,7 @@ postgresql-test-$(VERSION).tar: distdir
$(TAR) cf $@ $(distdir)/src/test $(TAR) cf $@ $(distdir)/src/test
distdir: distdir:
-rm -rf $(distdir)* $(dummy) rm -rf $(distdir)* $(dummy)
for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \ for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
file=`expr X$$x : 'X\./\(.*\)'`; \ file=`expr X$$x : 'X\./\(.*\)'`; \
if test -d "$(top_srcdir)/$$file" ; then \ if test -d "$(top_srcdir)/$$file" ; then \
@ -116,7 +116,7 @@ distdir:
rm -f $(distdir)/README.CVS rm -f $(distdir)/README.CVS
distcheck: $(distdir).tar.gz distcheck: $(distdir).tar.gz
-rm -rf $(dummy) rm -rf $(dummy)
mkdir $(dummy) mkdir $(dummy)
$(GZIP) -d -c $< | $(TAR) xf - $(GZIP) -d -c $< | $(TAR) xf -
install_prefix=`cd $(dummy) && pwd`; \ install_prefix=`cd $(dummy) && pwd`; \
@ -131,7 +131,7 @@ distcheck: $(distdir).tar.gz
$(MAKE) -C $(distdir) dist $(MAKE) -C $(distdir) dist
# Room for improvement: Check here whether this distribution tarball # Room for improvement: Check here whether this distribution tarball
# is sufficiently similar to the original one. # is sufficiently similar to the original one.
-rm -rf $(distdir) $(dummy) rm -rf $(distdir) $(dummy)
@echo "Distribution integrity checks out." @echo "Distribution integrity checks out."
.PHONY: dist distdir distcheck .PHONY: dist distdir distcheck

View File

@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/doc/Makefile,v 1.30 2008/02/17 16:36:42 petere Exp $ # $PostgreSQL: pgsql/doc/Makefile,v 1.31 2008/03/18 16:24:50 petere Exp $
# #
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -90,10 +90,10 @@ endif
uninstall: uninstall:
ifdef found_html ifdef found_html
-rm -f $(addprefix $(DESTDIR)$(htmldir)/html/, $(shell gunzip -c $(srcdir)/postgres.tar.gz | tar tf -)) rm -f $(addprefix $(DESTDIR)$(htmldir)/html/, $(shell gunzip -c $(srcdir)/postgres.tar.gz | tar tf -))
endif endif
ifdef found_man ifdef found_man
-rm -f $(addprefix $(DESTDIR)$(mandir)/, $(shell gunzip -c $(srcdir)/man.tar.gz | tar tf - | sed -e 's,man$(sqlmansect_dummy)/,man$(sqlmansectnum)/,' -e 's/.$(sqlmansect_dummy)$$/.$(sqlmansect)/')) rm -f $(addprefix $(DESTDIR)$(mandir)/, $(shell gunzip -c $(srcdir)/man.tar.gz | tar tf - | sed -e 's,man$(sqlmansect_dummy)/,man$(sqlmansectnum)/,' -e 's/.$(sqlmansect_dummy)$$/.$(sqlmansect)/'))
endif endif

View File

@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/Makefile,v 1.42 2007/08/21 01:11:12 tgl Exp $ # $PostgreSQL: pgsql/src/Makefile,v 1.43 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -59,18 +59,18 @@ clean:
$(MAKE) -C test/thread $@ $(MAKE) -C test/thread $@
distclean maintainer-clean: distclean maintainer-clean:
-$(MAKE) -C port $@ $(MAKE) -C port $@
-$(MAKE) -C timezone $@ $(MAKE) -C timezone $@
-$(MAKE) -C backend $@ $(MAKE) -C backend $@
-$(MAKE) -C backend/snowball $@ $(MAKE) -C backend/snowball $@
-$(MAKE) -C include $@ $(MAKE) -C include $@
-$(MAKE) -C interfaces $@ $(MAKE) -C interfaces $@
-$(MAKE) -C bin $@ $(MAKE) -C bin $@
-$(MAKE) -C pl $@ $(MAKE) -C pl $@
-$(MAKE) -C makefiles $@ $(MAKE) -C makefiles $@
-$(MAKE) -C test $@ $(MAKE) -C test $@
-$(MAKE) -C tutorial NO_PGXS=1 $@ $(MAKE) -C tutorial NO_PGXS=1 $@
-$(MAKE) -C test/thread $@ $(MAKE) -C test/thread $@
rm -f Makefile.port Makefile.global rm -f Makefile.port Makefile.global

View File

@ -2,7 +2,7 @@
# #
# Makefile for src/backend/snowball # Makefile for src/backend/snowball
# #
# $PostgreSQL: pgsql/src/backend/snowball/Makefile,v 1.4 2007/10/23 20:46:12 tgl Exp $ # $PostgreSQL: pgsql/src/backend/snowball/Makefile,v 1.5 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -92,7 +92,8 @@ $(SQLSCRIPT): Makefile snowball_func.sql.in snowball.sql.in
ifeq ($(enable_shared), yes) ifeq ($(enable_shared), yes)
echo '-- Language-specific snowball dictionaries' > $@ echo '-- Language-specific snowball dictionaries' > $@
cat $(srcdir)/snowball_func.sql.in >> $@ cat $(srcdir)/snowball_func.sql.in >> $@
@set $(LANGUAGES) ; \ @set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \ while [ "$$#" -gt 0 ] ; \
do \ do \
lang=$$1; shift; \ lang=$$1; shift; \
@ -120,7 +121,8 @@ ifeq ($(enable_shared), yes)
$(INSTALL_SHLIB) $(shlib) '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)' $(INSTALL_SHLIB) $(shlib) '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)'
endif endif
$(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)' $(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)'
@set $(LANGUAGES) ; \ @set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \ while [ "$$#" -gt 0 ] ; \
do \ do \
lang=$$1; shift; shift; \ lang=$$1; shift; shift; \
@ -135,7 +137,8 @@ installdirs:
uninstall: uninstall:
rm -f '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)' rm -f '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)'
rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)' rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)'
@set $(LANGUAGES) ; \ @set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \ while [ "$$#" -gt 0 ] ; \
do \ do \
lang=$$1; shift; shift; \ lang=$$1; shift; shift; \

View File

@ -4,7 +4,7 @@
# Makefile for utils/mb/conversion_procs # Makefile for utils/mb/conversion_procs
# #
# IDENTIFICATION # IDENTIFICATION
# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.18 2007/03/25 11:56:02 ishii Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.19 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -164,7 +164,8 @@ all: $(SQLSCRIPT)
$(SQLSCRIPT): Makefile $(SQLSCRIPT): Makefile
ifeq ($(enable_shared), yes) ifeq ($(enable_shared), yes)
@set $(CONVERSIONS) ; \ @set -e; \
set $(CONVERSIONS) ; \
while [ "$$#" -gt 0 ] ; \ while [ "$$#" -gt 0 ] ; \
do \ do \
name=$$1;shift; \ name=$$1;shift; \
@ -182,7 +183,8 @@ else
endif endif
$(REGRESSION_SCRIPT): Makefile $(REGRESSION_SCRIPT): Makefile
@cp regress_prolog $@; \ @set -e; \
cp regress_prolog $@; \
set $(CONVERSIONS) ; \ set $(CONVERSIONS) ; \
while [ "$$#" -gt 0 ] ; \ while [ "$$#" -gt 0 ] ; \
do \ do \
@ -210,5 +212,5 @@ uninstall:
clean distclean maintainer-clean: clean distclean maintainer-clean:
rm -f $(SQLSCRIPT) rm -f $(SQLSCRIPT)
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done

View File

@ -5,7 +5,7 @@
# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California # Portions Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/bin/Makefile,v 1.51 2008/01/01 19:45:55 momjian Exp $ # $PostgreSQL: pgsql/src/bin/Makefile,v 1.52 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -19,8 +19,5 @@ ifeq ($(PORTNAME), win32)
DIRS+=pgevent DIRS+=pgevent
endif endif
all install installdirs uninstall distprep: all install installdirs uninstall distprep clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean distclean maintainer-clean:
-@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done

View File

@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/interfaces/Makefile,v 1.55 2007/02/09 15:55:59 petere Exp $ # $PostgreSQL: pgsql/src/interfaces/Makefile,v 1.56 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -14,13 +14,5 @@ include $(top_builddir)/src/Makefile.global
DIRS = libpq ecpg DIRS = libpq ecpg
ALLDIRS = $(DIRS) all install installdirs uninstall distprep clean distclean maintainer-clean:
all install installdirs uninstall distprep:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
distclean maintainer-clean:
@for dir in $(ALLDIRS); do $(MAKE) -C $$dir $@; done

View File

@ -10,12 +10,12 @@ all install installdirs uninstall distprep:
$(MAKE) -C preproc $@ $(MAKE) -C preproc $@
clean distclean maintainer-clean: clean distclean maintainer-clean:
-$(MAKE) -C include $@ $(MAKE) -C include $@
-$(MAKE) -C pgtypeslib $@ $(MAKE) -C pgtypeslib $@
-$(MAKE) -C ecpglib $@ $(MAKE) -C ecpglib $@
-$(MAKE) -C compatlib $@ $(MAKE) -C compatlib $@
-$(MAKE) -C preproc $@ $(MAKE) -C preproc $@
-$(MAKE) -C test clean $(MAKE) -C test clean
check checktcp installcheck: all check checktcp installcheck: all
$(MAKE) -C test $@ $(MAKE) -C test $@

View File

@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/pl/Makefile,v 1.26 2007/06/01 19:38:07 tgl Exp $ # $PostgreSQL: pgsql/src/pl/Makefile,v 1.27 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -26,11 +26,8 @@ ifeq ($(with_tcl), yes)
DIRS += tcl DIRS += tcl
endif endif
all install installdirs uninstall distprep: all install installdirs uninstall distprep clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
# We'd like check operations to run all the subtests before failing. # We'd like check operations to run all the subtests before failing.
check installcheck: check installcheck:

View File

@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/pl/plpgsql/Makefile,v 1.8 2003/11/29 19:52:12 pgsql Exp $ # $PostgreSQL: pgsql/src/pl/plpgsql/Makefile,v 1.9 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -12,8 +12,5 @@ subdir = src/pl/plpgsql
top_builddir = ../../.. top_builddir = ../../..
include $(top_builddir)/src/Makefile.global include $(top_builddir)/src/Makefile.global
all install installdirs uninstall distprep: all install installdirs uninstall distprep clean distclean maintainer-clean:
$(MAKE) -C src $@ $(MAKE) -C src $@
clean distclean maintainer-clean:
-$(MAKE) -C src $@

View File

@ -8,7 +8,7 @@
# #
# #
# IDENTIFICATION # IDENTIFICATION
# $PostgreSQL: pgsql/src/test/bench/Makefile,v 1.15 2008/01/01 19:46:00 momjian Exp $ # $PostgreSQL: pgsql/src/test/bench/Makefile,v 1.16 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -31,9 +31,9 @@ create.sql: create.source
bench.sql: bench.sql:
x=1; \ x=1; \
for i in `ls query[0-9][0-9]`; do \ for i in `ls query[0-9][0-9]`; do \
echo "select $$x as x" >> bench.sql; \ echo "select $$x as x" >> bench.sql && \
cat $$i >> bench.sql; \ cat $$i >> bench.sql && \
x=`expr $$x + 1`; \ x=`expr $$x + 1` || exit; \
done done
runtest: $(OUTFILES) runtest: $(OUTFILES)

View File

@ -1,4 +1,4 @@
# $PostgreSQL: pgsql/src/test/locale/Makefile,v 1.9 2003/11/29 19:52:14 pgsql Exp $ # $PostgreSQL: pgsql/src/test/locale/Makefile,v 1.10 2008/03/18 16:24:50 petere Exp $
subdir = src/test/locale subdir = src/test/locale
top_builddir = ../../.. top_builddir = ../../..
@ -13,7 +13,7 @@ all: $(PROGS)
clean: clean:
rm -f $(PROGS) rm -f $(PROGS)
for d in $(DIRS); do \ for d in $(DIRS); do \
$(MAKE) -C $$d clean; \ $(MAKE) -C $$d clean || exit; \
done done
check-%: all check-%: all

View File

@ -1,12 +1,7 @@
#
# Makefile for example programs
#
all: all:
-@echo "make: Nothing to be done for \`all'."
test: test:
@./runall ./runall
clean: clean:
rm -f *.out rm -f *.out

View File

@ -1,12 +1,7 @@
#
# Makefile for example programs
#
all: all:
-@echo "make: Nothing to be done for \`all'."
test: test:
@./runall ./runall
clean: clean:
rm -f *.out rm -f *.out

View File

@ -1,12 +1,7 @@
#
# Makefile for example programs
#
all: all:
-@echo "make: Nothing to be done for \`all'."
test: test:
@./runall ./runall
clean: clean:
rm -f *.out rm -f *.out

View File

@ -1,12 +1,7 @@
#
# Makefile for example programs
#
all: all:
-@echo "make: Nothing to be done for \`all'."
test: test:
@./runall ./runall
clean: clean:
rm -f *.out rm -f *.out

View File

@ -6,7 +6,7 @@
# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California # Portions Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.71 2008/01/01 19:46:00 momjian Exp $ # $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.72 2008/03/18 16:24:50 petere Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -133,7 +133,7 @@ all-spi:
# Tablespace setup # Tablespace setup
.PHONY: tablespace-setup .PHONY: tablespace-setup
tablespace-setup: tablespace-setup:
-rm -rf ./testtablespace rm -rf ./testtablespace
mkdir ./testtablespace mkdir ./testtablespace
## ##