diff --git a/GNUmakefile.in b/GNUmakefile.in index 56a42ada0f..5262d0ef78 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,7 +1,7 @@ # # PostgreSQL top level makefile # -# $PostgreSQL: pgsql/GNUmakefile.in,v 1.50 2009/01/15 01:53:49 momjian Exp $ +# $PostgreSQL: pgsql/GNUmakefile.in,v 1.51 2009/08/07 20:50:21 petere Exp $ # subdir = @@ -20,7 +20,7 @@ install: $(MAKE) -C config $@ @echo "PostgreSQL installation complete." -installdirs uninstall: +installdirs uninstall coverage: $(MAKE) -C doc $@ $(MAKE) -C src $@ $(MAKE) -C config $@ @@ -61,25 +61,6 @@ GNUmakefile: GNUmakefile.in $(top_builddir)/config.status ./config.status $@ -########################################################################## - -coverage: - $(MAKE) -C src/backend $@ - -.PHONY: coverage-html -coverage-html: coverage - rm -rf coverage - mkdir coverage - $(GENHTML) --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=$(abs_top_srcdir)/src `find src/backend -name lcov.info -print` - -ifeq ($(enable_coverage),yes) -clean distclean maintainer-clean: clean-coverage-local -.PHONY: clean-coverage-local -clean-coverage-local: - rm -rf coverage -endif - - ########################################################################## distdir = postgresql-$(VERSION) diff --git a/contrib/Makefile b/contrib/Makefile index e840c8ce6a..85cabd8618 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -1,10 +1,10 @@ -# $PostgreSQL: pgsql/contrib/Makefile,v 1.87 2009/03/25 23:20:01 tgl Exp $ +# $PostgreSQL: pgsql/contrib/Makefile,v 1.88 2009/08/07 20:50:21 petere Exp $ subdir = contrib top_builddir = .. include $(top_builddir)/src/Makefile.global -WANTED_DIRS = \ +SUBDIRS = \ adminpack \ auto_explain \ btree_gin \ @@ -42,15 +42,15 @@ WANTED_DIRS = \ vacuumlo ifeq ($(with_openssl),yes) -WANTED_DIRS += sslinfo +SUBDIRS += sslinfo endif ifeq ($(with_ossp_uuid),yes) -WANTED_DIRS += uuid-ossp +SUBDIRS += uuid-ossp endif ifeq ($(with_libxml),yes) -WANTED_DIRS += xml2 +SUBDIRS += xml2 endif # Missing: @@ -58,13 +58,13 @@ endif all install installdirs uninstall distprep clean distclean maintainer-clean: - @for dir in $(WANTED_DIRS); do \ + @for dir in $(SUBDIRS); do \ $(MAKE) -C $$dir $@ || exit; \ done # We'd like check operations to run all the subtests before failing. check installcheck: - @CHECKERR=0; for dir in $(WANTED_DIRS); do \ + @CHECKERR=0; for dir in $(SUBDIRS); do \ $(MAKE) -C $$dir $@ || CHECKERR=$$?; \ done; \ exit $$CHECKERR diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index 4c6fb5c569..29d320c919 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -1,4 +1,4 @@ - + Regression Tests @@ -476,6 +476,7 @@ gmake coverage-html Then point your HTML browser to coverage/index.html. + The gmake commands also work in subdirectories. diff --git a/src/Makefile b/src/Makefile index 7b00776c4b..8c869573bf 100644 --- a/src/Makefile +++ b/src/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/Makefile,v 1.45 2009/02/24 10:06:32 petere Exp $ +# $PostgreSQL: pgsql/src/Makefile,v 1.46 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -73,5 +73,14 @@ distclean maintainer-clean: $(MAKE) -C test/thread $@ rm -f Makefile.port Makefile.global +coverage: + $(MAKE) -C timezone $@ + $(MAKE) -C backend $@ + $(MAKE) -C backend/utils/mb/conversion_procs $@ + $(MAKE) -C backend/snowball $@ + $(MAKE) -C interfaces $@ + $(MAKE) -C bin $@ + $(MAKE) -C pl $@ + .PHONY: install-local installdirs-local uninstall-local diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 04f3b1a7dd..441de31487 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1,5 +1,5 @@ # -*-makefile-*- -# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.255 2009/08/04 22:04:37 petere Exp $ +# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.256 2009/08/07 20:50:22 petere Exp $ #------------------------------------------------------------------------------ # All PostgreSQL makefiles include this file and use the variables it sets, @@ -617,12 +617,22 @@ lcov.info: $(gcda_files) %.c.gcov: %.gcda | lcov.info $(GCOV) -b -f -p -o . $(GCOVFLAGS) $*.c >$*.c.gcov.out +coverage: $(gcda_files:.gcda=.c.gcov) lcov.info + $(if $(SUBDIRS),for dir in $(SUBDIRS); do $(MAKE) -C $$dir coverage || exit; done) + +.PHONY: coverage-html +coverage-html: coverage + rm -rf coverage + mkdir coverage + $(GENHTML) --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=$(abs_top_srcdir) `find . -name lcov.info -print` + # hook for clean-up clean distclean maintainer-clean: clean-coverage .PHONY: clean-coverage clean-coverage: + rm -rf coverage rm -f *.gcda *.gcno lcov.info *.gcov *.gcov.out diff --git a/src/backend/common.mk b/src/backend/common.mk index c617c67276..f4de2fe53d 100644 --- a/src/backend/common.mk +++ b/src/backend/common.mk @@ -1,7 +1,7 @@ # # Common make rules for backend # -# $PostgreSQL: pgsql/src/backend/common.mk,v 1.8 2008/09/05 12:11:18 petere Exp $ +# $PostgreSQL: pgsql/src/backend/common.mk,v 1.9 2009/08/07 20:50:22 petere Exp $ # # When including this file, set OBJS to the object files created in @@ -46,9 +46,3 @@ ifdef SUBDIRS for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done endif rm -f $(subsysfilename) $(OBJS) - - -coverage: $(gcda_files:.gcda=.c.gcov) lcov.info -ifdef SUBDIRS - for dir in $(SUBDIRS); do $(MAKE) -C $$dir coverage || exit; done -endif diff --git a/src/backend/utils/mb/conversion_procs/Makefile b/src/backend/utils/mb/conversion_procs/Makefile index 2d0b37564a..17b5f71503 100644 --- a/src/backend/utils/mb/conversion_procs/Makefile +++ b/src/backend/utils/mb/conversion_procs/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/mb/conversion_procs # # IDENTIFICATION -# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.21 2009/02/10 19:29:39 petere Exp $ +# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.22 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -17,7 +17,7 @@ SQLSCRIPT = conversion_create.sql # This file can be placed as src/test/regress/conversion.sql REGRESSION_SCRIPT = conversion.sql -DIRS = \ +SUBDIRS = \ ascii_and_mic cyrillic_and_mic euc_cn_and_mic euc_jp_and_sjis \ euc_kr_and_mic euc_tw_and_big5 latin2_and_win1250 latin_and_mic \ utf8_and_ascii utf8_and_big5 utf8_and_cyrillic utf8_and_euc_cn \ @@ -162,7 +162,7 @@ CONVERSIONS = \ shift_jis_2004_to_euc_jis_2004 SHIFT_JIS_2004 EUC_JIS_2004 shift_jis_2004_to_euc_jis_2004 euc_jis_2004_and_shift_jis_2004 all: $(SQLSCRIPT) - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done $(SQLSCRIPT): Makefile ifeq ($(enable_shared), yes) @@ -205,16 +205,16 @@ $(REGRESSION_SCRIPT): Makefile install: $(SQLSCRIPT) installdirs $(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)' - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done installdirs: $(mkinstalldirs) '$(DESTDIR)$(datadir)' '$(DESTDIR)$(pkglibdir)' uninstall: rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)' - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done clean distclean maintainer-clean: rm -f $(SQLSCRIPT) - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done diff --git a/src/bin/Makefile b/src/bin/Makefile index e493252771..1fa4dfd284 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -5,7 +5,7 @@ # Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/bin/Makefile,v 1.54 2009/01/01 17:23:53 momjian Exp $ +# $PostgreSQL: pgsql/src/bin/Makefile,v 1.55 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -13,11 +13,11 @@ subdir = src/bin top_builddir = ../.. include $(top_builddir)/src/Makefile.global -DIRS = initdb pg_ctl pg_dump \ +SUBDIRS = initdb pg_ctl pg_dump \ psql scripts pg_config pg_controldata pg_resetxlog ifeq ($(PORTNAME), win32) -DIRS+=pgevent +SUBDIRS+=pgevent endif all install installdirs uninstall distprep clean distclean maintainer-clean: - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done diff --git a/src/interfaces/Makefile b/src/interfaces/Makefile index dd57c18c3e..09ca0c2bb8 100644 --- a/src/interfaces/Makefile +++ b/src/interfaces/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/interfaces/Makefile,v 1.56 2008/03/18 16:24:50 petere Exp $ +# $PostgreSQL: pgsql/src/interfaces/Makefile,v 1.57 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -12,7 +12,7 @@ subdir = src/interfaces top_builddir = ../.. include $(top_builddir)/src/Makefile.global -DIRS = libpq ecpg +SUBDIRS = libpq ecpg all install installdirs uninstall distprep clean distclean maintainer-clean: - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done diff --git a/src/pl/Makefile b/src/pl/Makefile index fa06459a9b..cfaeddea9f 100644 --- a/src/pl/Makefile +++ b/src/pl/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/pl/Makefile,v 1.27 2008/03/18 16:24:50 petere Exp $ +# $PostgreSQL: pgsql/src/pl/Makefile,v 1.28 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -12,26 +12,26 @@ subdir = src/pl top_builddir = ../.. include $(top_builddir)/src/Makefile.global -DIRS = plpgsql +SUBDIRS = plpgsql ifeq ($(with_perl), yes) -DIRS += plperl +SUBDIRS += plperl endif ifeq ($(with_python), yes) -DIRS += plpython +SUBDIRS += plpython endif ifeq ($(with_tcl), yes) -DIRS += tcl +SUBDIRS += tcl endif all install installdirs uninstall distprep clean distclean maintainer-clean: - @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done # We'd like check operations to run all the subtests before failing. check installcheck: - @CHECKERR=0; for dir in $(DIRS); do \ + @CHECKERR=0; for dir in $(SUBDIRS); do \ $(MAKE) -C $$dir $@ || CHECKERR=$$?; \ done; \ exit $$CHECKERR diff --git a/src/pl/plpgsql/Makefile b/src/pl/plpgsql/Makefile index 2f1298c258..0c5dd72f2d 100644 --- a/src/pl/plpgsql/Makefile +++ b/src/pl/plpgsql/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/pl/plpgsql/Makefile,v 1.9 2008/03/18 16:24:50 petere Exp $ +# $PostgreSQL: pgsql/src/pl/plpgsql/Makefile,v 1.10 2009/08/07 20:50:22 petere Exp $ # #------------------------------------------------------------------------- @@ -12,5 +12,5 @@ subdir = src/pl/plpgsql top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -all install installdirs uninstall distprep clean distclean maintainer-clean: +all install installdirs uninstall distprep clean distclean maintainer-clean coverage: $(MAKE) -C src $@ diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index dfc29ea844..6359f1861e 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -3,7 +3,7 @@ package Mkvcbuild; # # Package that generates build files for msvc build # -# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.41 2009/07/16 17:43:52 tgl Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.42 2009/08/07 20:50:22 petere Exp $ # use Carp; use Win32; @@ -321,7 +321,7 @@ sub mkvcbuild $mf = Project::read_file('src\backend\utils\mb\conversion_procs\Makefile'); $mf =~ s{\\s*[\r\n]+}{}mg; - $mf =~ m{DIRS\s*=\s*(.*)$}m || die 'Could not match in conversion makefile' . "\n"; + $mf =~ m{SUBDIRS\s*=\s*(.*)$}m || die 'Could not match in conversion makefile' . "\n"; foreach my $sub (split /\s+/,$1) { my $mf = Project::read_file('src\backend\utils\mb\conversion_procs\\' . $sub . '\Makefile');