Commit 8c87cc37 authored by Peter Eisentraut's avatar Peter Eisentraut

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.
parent 184c42d2
# #
# 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: ...@@ -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) ...@@ -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 ...@@ -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: ...@@ -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 ...@@ -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
......
...@@ -4,7 +4,7 @@ ...@@ -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 ...@@ -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
......
...@@ -4,7 +4,7 @@ ...@@ -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: ...@@ -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
......
...@@ -2,7 +2,7 @@ ...@@ -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 ...@@ -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) ...@@ -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: ...@@ -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; \
......
...@@ -4,7 +4,7 @@ ...@@ -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) ...@@ -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 ...@@ -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: ...@@ -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
...@@ -5,7 +5,7 @@ ...@@ -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) ...@@ -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
...@@ -4,7 +4,7 @@ ...@@ -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 ...@@ -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
...@@ -10,12 +10,12 @@ all install installdirs uninstall distprep: ...@@ -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 $@
...@@ -4,7 +4,7 @@ ...@@ -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) ...@@ -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:
......
...@@ -4,7 +4,7 @@ ...@@ -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 ...@@ -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 $@
...@@ -8,7 +8,7 @@ ...@@ -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 ...@@ -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)
......
# $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) ...@@ -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
......
#
# 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
#
# 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
#
# 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
#
# 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
...@@ -6,7 +6,7 @@ ...@@ -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: ...@@ -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
## ##
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment