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: 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 =
@ -44,11 +44,11 @@ clean:
# Important: distclean `src' last, otherwise Makefile.global
# will be gone too soon.
distclean maintainer-clean:
-$(MAKE) -C doc $@
-$(MAKE) -C contrib $@
-$(MAKE) -C config $@
-$(MAKE) -C src $@
-rm -f config.cache config.log config.status GNUmakefile
$(MAKE) -C doc $@
$(MAKE) -C contrib $@
$(MAKE) -C config $@
$(MAKE) -C src $@
rm -f config.cache config.log config.status GNUmakefile
# Garbage from autoconf:
@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
endif
dist:
-rm -rf $(distdir)
rm -rf $(distdir)
$(distdir).tar: distdir
$(TAR) chf $@ $(distdir)
@ -97,7 +97,7 @@ postgresql-test-$(VERSION).tar: distdir
$(TAR) cf $@ $(distdir)/src/test
distdir:
-rm -rf $(distdir)* $(dummy)
rm -rf $(distdir)* $(dummy)
for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
file=`expr X$$x : 'X\./\(.*\)'`; \
if test -d "$(top_srcdir)/$$file" ; then \
@ -116,7 +116,7 @@ distdir:
rm -f $(distdir)/README.CVS
distcheck: $(distdir).tar.gz
-rm -rf $(dummy)
rm -rf $(dummy)
mkdir $(dummy)
$(GZIP) -d -c $< | $(TAR) xf -
install_prefix=`cd $(dummy) && pwd`; \
@ -131,7 +131,7 @@ distcheck: $(distdir).tar.gz
$(MAKE) -C $(distdir) dist
# Room for improvement: Check here whether this distribution tarball
# is sufficiently similar to the original one.
-rm -rf $(distdir) $(dummy)
rm -rf $(distdir) $(dummy)
@echo "Distribution integrity checks out."
.PHONY: dist distdir distcheck

View File

@ -4,7 +4,7 @@
#
# 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:
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
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

View File

@ -4,7 +4,7 @@
#
# 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 $@
distclean maintainer-clean:
-$(MAKE) -C port $@
-$(MAKE) -C timezone $@
-$(MAKE) -C backend $@
-$(MAKE) -C backend/snowball $@
-$(MAKE) -C include $@
-$(MAKE) -C interfaces $@
-$(MAKE) -C bin $@
-$(MAKE) -C pl $@
-$(MAKE) -C makefiles $@
-$(MAKE) -C test $@
-$(MAKE) -C tutorial NO_PGXS=1 $@
-$(MAKE) -C test/thread $@
$(MAKE) -C port $@
$(MAKE) -C timezone $@
$(MAKE) -C backend $@
$(MAKE) -C backend/snowball $@
$(MAKE) -C include $@
$(MAKE) -C interfaces $@
$(MAKE) -C bin $@
$(MAKE) -C pl $@
$(MAKE) -C makefiles $@
$(MAKE) -C test $@
$(MAKE) -C tutorial NO_PGXS=1 $@
$(MAKE) -C test/thread $@
rm -f Makefile.port Makefile.global

View File

@ -2,7 +2,7 @@
#
# 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)
echo '-- Language-specific snowball dictionaries' > $@
cat $(srcdir)/snowball_func.sql.in >> $@
@set $(LANGUAGES) ; \
@set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \
do \
lang=$$1; shift; \
@ -120,7 +121,8 @@ ifeq ($(enable_shared), yes)
$(INSTALL_SHLIB) $(shlib) '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)'
endif
$(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)'
@set $(LANGUAGES) ; \
@set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \
do \
lang=$$1; shift; shift; \
@ -135,7 +137,8 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)'
rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)'
@set $(LANGUAGES) ; \
@set -e; \
set $(LANGUAGES) ; \
while [ "$$#" -gt 0 ] ; \
do \
lang=$$1; shift; shift; \

View File

@ -4,7 +4,7 @@
# Makefile for utils/mb/conversion_procs
#
# 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
ifeq ($(enable_shared), yes)
@set $(CONVERSIONS) ; \
@set -e; \
set $(CONVERSIONS) ; \
while [ "$$#" -gt 0 ] ; \
do \
name=$$1;shift; \
@ -182,7 +183,8 @@ else
endif
$(REGRESSION_SCRIPT): Makefile
@cp regress_prolog $@; \
@set -e; \
cp regress_prolog $@; \
set $(CONVERSIONS) ; \
while [ "$$#" -gt 0 ] ; \
do \
@ -210,5 +212,5 @@ uninstall:
clean distclean maintainer-clean:
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) 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
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
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
#
# $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
ALLDIRS = $(DIRS)
all install installdirs uninstall distprep:
all install installdirs uninstall distprep clean distclean maintainer-clean:
@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 $@
clean distclean maintainer-clean:
-$(MAKE) -C include $@
-$(MAKE) -C pgtypeslib $@
-$(MAKE) -C ecpglib $@
-$(MAKE) -C compatlib $@
-$(MAKE) -C preproc $@
-$(MAKE) -C test clean
$(MAKE) -C include $@
$(MAKE) -C pgtypeslib $@
$(MAKE) -C ecpglib $@
$(MAKE) -C compatlib $@
$(MAKE) -C preproc $@
$(MAKE) -C test clean
check checktcp installcheck: all
$(MAKE) -C test $@

View File

@ -4,7 +4,7 @@
#
# 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
endif
all install installdirs uninstall distprep:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
all install installdirs uninstall distprep clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
# We'd like check operations to run all the subtests before failing.
check installcheck:

View File

@ -4,7 +4,7 @@
#
# 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 = ../../..
include $(top_builddir)/src/Makefile.global
all install installdirs uninstall distprep:
all install installdirs uninstall distprep clean distclean maintainer-clean:
$(MAKE) -C src $@
clean distclean maintainer-clean:
-$(MAKE) -C src $@

View File

@ -8,7 +8,7 @@
#
#
# 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:
x=1; \
for i in `ls query[0-9][0-9]`; do \
echo "select $$x as x" >> bench.sql; \
cat $$i >> bench.sql; \
x=`expr $$x + 1`; \
echo "select $$x as x" >> bench.sql && \
cat $$i >> bench.sql && \
x=`expr $$x + 1` || exit; \
done
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
top_builddir = ../../..
@ -13,7 +13,7 @@ all: $(PROGS)
clean:
rm -f $(PROGS)
for d in $(DIRS); do \
$(MAKE) -C $$d clean; \
$(MAKE) -C $$d clean || exit; \
done
check-%: all

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@
# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
# 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
.PHONY: tablespace-setup
tablespace-setup:
-rm -rf ./testtablespace
rm -rf ./testtablespace
mkdir ./testtablespace
##