aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2023-11-06 14:51:52 +0100
committerPeter Eisentraut <peter@eisentraut.org>2023-11-06 15:18:04 +0100
commit721856ff24b3722ce8e894e5a32c9c063cd48455 (patch)
tree15c1ac322b497b604e79d1cef058f67b9aae4d1b
parentb72de09a1b8e55774b70add4de0f8c59cef6cf6f (diff)
downloadpostgresql-721856ff24b3722ce8e894e5a32c9c063cd48455.tar.gz
postgresql-721856ff24b3722ce8e894e5a32c9c063cd48455.zip
Remove distprep
A PostgreSQL release tarball contains a number of prebuilt files, in particular files produced by bison, flex, perl, and well as html and man documentation. We have done this consistent with established practice at the time to not require these tools for building from a tarball. Some of these tools were hard to get, or get the right version of, from time to time, and shipping the prebuilt output was a convenience to users. Now this has at least two problems: One, we have to make the build system(s) work in two modes: Building from a git checkout and building from a tarball. This is pretty complicated, but it works so far for autoconf/make. It does not currently work for meson; you can currently only build with meson from a git checkout. Making meson builds work from a tarball seems very difficult or impossible. One particular problem is that since meson requires a separate build directory, we cannot make the build update files like gram.h in the source tree. So if you were to build from a tarball and update gram.y, you will have a gram.h in the source tree and one in the build tree, but the way things work is that the compiler will always use the one in the source tree. So you cannot, for example, make any gram.y changes when building from a tarball. This seems impossible to fix in a non-horrible way. Second, there is increased interest nowadays in precisely tracking the origin of software. We can reasonably track contributions into the git tree, and users can reasonably track the path from a tarball to packages and downloads and installs. But what happens between the git tree and the tarball is obscure and in some cases non-reproducible. The solution for both of these issues is to get rid of the step that adds prebuilt files to the tarball. The tarball now only contains what is in the git tree (*). Getting the additional build dependencies is no longer a problem nowadays, and the complications to keep these dual build modes working are significant. And of course we want to get the meson build system working universally. This commit removes the make distprep target altogether. The make dist target continues to do its job, it just doesn't call distprep anymore. (*) - The tarball also contains the INSTALL file that is built at make dist time, but not by distprep. This is unchanged for now. The make maintainer-clean target, whose job it is to remove the prebuilt files in addition to what make distclean does, is now just an alias to make distprep. (In practice, it is probably obsolete given that git clean is available.) The following programs are now hard build requirements in configure (they were already required by meson.build): - bison - flex - perl Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/e07408d9-e5f2-d9fd-5672-f53354e9305e@eisentraut.org
-rw-r--r--GNUmakefile.in6
-rw-r--r--config/perl.m49
-rw-r--r--config/programs.m421
-rwxr-xr-xconfigure62
-rw-r--r--contrib/cube/Makefile7
-rw-r--r--contrib/fuzzystrmatch/Makefile9
-rw-r--r--contrib/seg/Makefile7
-rw-r--r--doc/Makefile2
-rw-r--r--doc/src/Makefile2
-rw-r--r--doc/src/sgml/Makefile16
-rw-r--r--doc/src/sgml/installation.sgml83
-rw-r--r--doc/src/sgml/sourcerepo.sgml10
-rw-r--r--meson.build2
-rw-r--r--src/Makefile5
-rw-r--r--src/Makefile.global.in30
-rw-r--r--src/backend/Makefile62
-rw-r--r--src/backend/bootstrap/Makefile6
-rw-r--r--src/backend/catalog/Makefile14
-rw-r--r--src/backend/jit/llvm/Makefile2
-rw-r--r--src/backend/nls.mk2
-rw-r--r--src/backend/nodes/Makefile12
-rw-r--r--src/backend/parser/Makefile8
-rw-r--r--src/backend/port/Makefile2
-rw-r--r--src/backend/replication/Makefile10
-rw-r--r--src/backend/replication/libpqwalreceiver/Makefile2
-rw-r--r--src/backend/replication/pgoutput/Makefile2
-rw-r--r--src/backend/snowball/Makefile4
-rw-r--r--src/backend/storage/lmgr/Makefile4
-rw-r--r--src/backend/utils/Makefile28
-rw-r--r--src/backend/utils/activity/Makefile2
-rw-r--r--src/backend/utils/adt/Makefile5
-rw-r--r--src/backend/utils/mb/Makefile2
-rw-r--r--src/backend/utils/mb/Unicode/Makefile2
-rw-r--r--src/backend/utils/mb/conversion_procs/proc.mk2
-rw-r--r--src/backend/utils/misc/Makefile3
-rw-r--r--src/bin/initdb/Makefile2
-rw-r--r--src/bin/pg_amcheck/Makefile2
-rw-r--r--src/bin/pg_archivecleanup/Makefile2
-rw-r--r--src/bin/pg_basebackup/Makefile2
-rw-r--r--src/bin/pg_checksums/Makefile2
-rw-r--r--src/bin/pg_config/Makefile2
-rw-r--r--src/bin/pg_controldata/Makefile2
-rw-r--r--src/bin/pg_ctl/Makefile2
-rw-r--r--src/bin/pg_dump/Makefile2
-rw-r--r--src/bin/pg_resetwal/Makefile2
-rw-r--r--src/bin/pg_rewind/Makefile2
-rw-r--r--src/bin/pg_test_fsync/Makefile2
-rw-r--r--src/bin/pg_test_timing/Makefile2
-rw-r--r--src/bin/pg_upgrade/Makefile2
-rw-r--r--src/bin/pg_verifybackup/Makefile2
-rw-r--r--src/bin/pg_waldump/Makefile2
-rw-r--r--src/bin/pgbench/Makefile4
-rw-r--r--src/bin/psql/Makefile6
-rw-r--r--src/bin/scripts/Makefile2
-rw-r--r--src/common/Makefile5
-rw-r--r--src/common/unicode/Makefile2
-rw-r--r--src/fe_utils/Makefile6
-rw-r--r--src/include/Makefile2
-rw-r--r--src/interfaces/ecpg/Makefile2
-rw-r--r--src/interfaces/ecpg/compatlib/Makefile2
-rw-r--r--src/interfaces/ecpg/ecpglib/Makefile2
-rw-r--r--src/interfaces/ecpg/include/Makefile2
-rw-r--r--src/interfaces/ecpg/pgtypeslib/Makefile2
-rw-r--r--src/interfaces/ecpg/preproc/Makefile6
-rw-r--r--src/interfaces/ecpg/test/Makefile4
-rw-r--r--src/interfaces/libpq/Makefile3
-rw-r--r--src/interfaces/libpq/test/Makefile2
-rw-r--r--src/makefiles/pgxs.mk2
-rw-r--r--src/nls-global.mk2
-rw-r--r--src/pl/plperl/GNUmakefile2
-rw-r--r--src/pl/plpgsql/src/Makefile7
-rw-r--r--src/pl/plpython/Makefile6
-rw-r--r--src/pl/tcl/Makefile5
-rw-r--r--src/port/Makefile2
-rw-r--r--src/test/authentication/Makefile2
-rw-r--r--src/test/examples/Makefile2
-rw-r--r--src/test/icu/Makefile2
-rw-r--r--src/test/isolation/Makefile6
-rw-r--r--src/test/kerberos/Makefile2
-rw-r--r--src/test/ldap/Makefile2
-rw-r--r--src/test/locale/Makefile2
-rw-r--r--src/test/recovery/Makefile2
-rw-r--r--src/test/regress/GNUmakefile2
-rw-r--r--src/test/ssl/Makefile2
-rw-r--r--src/test/ssl/sslfiles.mk4
-rw-r--r--src/test/subscription/Makefile2
-rw-r--r--src/timezone/Makefile2
-rw-r--r--src/tools/ifaddrs/Makefile2
-rw-r--r--src/tools/pg_bsd_indent/Makefile2
89 files changed, 175 insertions, 416 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in
index 9c18c562330..80db4c73f81 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -41,7 +41,7 @@ install-world-bin-contrib-recurse: install-world-bin-src-recurse
$(call recurse,installdirs uninstall init-po update-po,doc src config)
-$(call recurse,distprep coverage,doc src config contrib)
+$(call recurse,coverage,doc src config contrib)
# clean, distclean, etc should apply to contrib too, even though
# it's not built by default
@@ -53,7 +53,7 @@ clean:
# Important: distclean `src' last, otherwise Makefile.global
# will be gone too soon.
-distclean maintainer-clean:
+distclean:
$(MAKE) -C doc $@
$(MAKE) -C contrib $@
$(MAKE) -C config $@
@@ -109,7 +109,6 @@ distdir:
|| cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
fi || exit; \
done
- $(MAKE) -C $(distdir) distprep
$(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL
cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
$(MAKE) -C $(distdir) distclean
@@ -122,7 +121,6 @@ distcheck: dist
install_prefix=`cd $(dummy) && pwd`; \
cd $(distdir) \
&& ./configure --prefix="$$install_prefix"
- $(MAKE) -C $(distdir) -q distprep
$(MAKE) -C $(distdir)
$(MAKE) -C $(distdir) install
$(MAKE) -C $(distdir) uninstall
diff --git a/config/perl.m4 b/config/perl.m4
index 8126e79f67d..1a3bb556498 100644
--- a/config/perl.m4
+++ b/config/perl.m4
@@ -13,19 +13,14 @@ if test "$PERL"; then
if echo "$pgac_perl_version" | sed ['s/[.a-z_]/ /g'] | \
$AWK '{ if ([$]1 == 5 && ([$]2 >= 14)) exit 1; else exit 0;}'
then
- AC_MSG_WARN([
+ AC_MSG_ERROR([
*** The installed version of Perl, $PERL, is too old to use with PostgreSQL.
*** Perl version 5.14 or later is required, but this is $pgac_perl_version.])
- PERL=""
fi
fi
if test -z "$PERL"; then
- AC_MSG_WARN([
-*** Without Perl you will not be able to build PostgreSQL from Git.
-*** You can obtain Perl from any CPAN mirror site.
-*** (If you are using the official distribution of PostgreSQL then you do not
-*** need to worry about this, because the Perl output is pre-generated.)])
+ AC_MSG_ERROR([Perl not found])
fi
])# PGAC_PATH_PERL
diff --git a/config/programs.m4 b/config/programs.m4
index 8a118b4e034..490ec9fe9f5 100644
--- a/config/programs.m4
+++ b/config/programs.m4
@@ -33,10 +33,9 @@ if test "$BISON"; then
AC_MSG_NOTICE([using $pgac_bison_version])
if echo "$pgac_bison_version" | $AWK '{ if ([$]4 < 2.3) exit 0; else exit 1;}'
then
- AC_MSG_WARN([
+ AC_MSG_ERROR([
*** The installed version of Bison, $BISON, is too old to use with PostgreSQL.
*** Bison version 2.3 or later is required, but this is $pgac_bison_version.])
- BISON=""
fi
# Bison >=3.0 issues warnings about %name-prefix="base_yy", instead
# of the now preferred %name-prefix "base_yy", but the latter
@@ -49,12 +48,7 @@ if test "$BISON"; then
fi
if test -z "$BISON"; then
- AC_MSG_WARN([
-*** Without Bison you will not be able to build PostgreSQL from Git nor
-*** change any of the parser definition files. You can obtain Bison from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this, because the Bison
-*** output is pre-generated.)])
+ AC_MSG_ERROR([bison not found])
fi
dnl We don't need AC_SUBST(BISON) because PGAC_PATH_PROGS did it
AC_SUBST(BISONFLAGS)
@@ -95,7 +89,7 @@ else
pgac_cv_path_flex=$pgac_candidate
break 2
else
- AC_MSG_WARN([
+ AC_MSG_ERROR([
*** The installed version of Flex, $pgac_candidate, is too old to use with PostgreSQL.
*** Flex version 2.5.35 or later is required, but this is $pgac_flex_version.])
fi
@@ -109,14 +103,7 @@ fi
])[]dnl AC_CACHE_CHECK
if test x"$pgac_cv_path_flex" = x"no"; then
- AC_MSG_WARN([
-*** Without Flex you will not be able to build PostgreSQL from Git nor
-*** change any of the scanner definition files. You can obtain Flex from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this because the Flex
-*** output is pre-generated.)])
-
- FLEX=
+ AC_MSG_ERROR([flex not found])
else
FLEX=$pgac_cv_path_flex
pgac_flex_version=`$FLEX --version 2>/dev/null`
diff --git a/configure b/configure
index cfd968235f7..c0641150383 100755
--- a/configure
+++ b/configure
@@ -10162,13 +10162,9 @@ if test "$BISON"; then
$as_echo "$as_me: using $pgac_bison_version" >&6;}
if echo "$pgac_bison_version" | $AWK '{ if ($4 < 2.3) exit 0; else exit 1;}'
then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** The installed version of Bison, $BISON, is too old to use with PostgreSQL.
-*** Bison version 2.3 or later is required, but this is $pgac_bison_version." >&5
-$as_echo "$as_me: WARNING:
+ as_fn_error $? "
*** The installed version of Bison, $BISON, is too old to use with PostgreSQL.
-*** Bison version 2.3 or later is required, but this is $pgac_bison_version." >&2;}
- BISON=""
+*** Bison version 2.3 or later is required, but this is $pgac_bison_version." "$LINENO" 5
fi
# Bison >=3.0 issues warnings about %name-prefix="base_yy", instead
# of the now preferred %name-prefix "base_yy", but the latter
@@ -10181,18 +10177,7 @@ $as_echo "$as_me: WARNING:
fi
if test -z "$BISON"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** Without Bison you will not be able to build PostgreSQL from Git nor
-*** change any of the parser definition files. You can obtain Bison from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this, because the Bison
-*** output is pre-generated.)" >&5
-$as_echo "$as_me: WARNING:
-*** Without Bison you will not be able to build PostgreSQL from Git nor
-*** change any of the parser definition files. You can obtain Bison from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this, because the Bison
-*** output is pre-generated.)" >&2;}
+ as_fn_error $? "bison not found" "$LINENO" 5
fi
@@ -10225,12 +10210,9 @@ else
pgac_cv_path_flex=$pgac_candidate
break 2
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** The installed version of Flex, $pgac_candidate, is too old to use with PostgreSQL.
-*** Flex version 2.5.35 or later is required, but this is $pgac_flex_version." >&5
-$as_echo "$as_me: WARNING:
+ as_fn_error $? "
*** The installed version of Flex, $pgac_candidate, is too old to use with PostgreSQL.
-*** Flex version 2.5.35 or later is required, but this is $pgac_flex_version." >&2;}
+*** Flex version 2.5.35 or later is required, but this is $pgac_flex_version." "$LINENO" 5
fi
fi
fi
@@ -10244,20 +10226,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_path_flex" >&5
$as_echo "$pgac_cv_path_flex" >&6; }
if test x"$pgac_cv_path_flex" = x"no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** Without Flex you will not be able to build PostgreSQL from Git nor
-*** change any of the scanner definition files. You can obtain Flex from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this because the Flex
-*** output is pre-generated.)" >&5
-$as_echo "$as_me: WARNING:
-*** Without Flex you will not be able to build PostgreSQL from Git nor
-*** change any of the scanner definition files. You can obtain Flex from
-*** a GNU mirror site. (If you are using the official distribution of
-*** PostgreSQL then you do not need to worry about this because the Flex
-*** output is pre-generated.)" >&2;}
-
- FLEX=
+ as_fn_error $? "flex not found" "$LINENO" 5
else
FLEX=$pgac_cv_path_flex
pgac_flex_version=`$FLEX --version 2>/dev/null`
@@ -10331,27 +10300,14 @@ $as_echo "$as_me: using perl $pgac_perl_version" >&6;}
if echo "$pgac_perl_version" | sed 's/[.a-z_]/ /g' | \
$AWK '{ if ($1 == 5 && ($2 >= 14)) exit 1; else exit 0;}'
then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** The installed version of Perl, $PERL, is too old to use with PostgreSQL.
-*** Perl version 5.14 or later is required, but this is $pgac_perl_version." >&5
-$as_echo "$as_me: WARNING:
+ as_fn_error $? "
*** The installed version of Perl, $PERL, is too old to use with PostgreSQL.
-*** Perl version 5.14 or later is required, but this is $pgac_perl_version." >&2;}
- PERL=""
+*** Perl version 5.14 or later is required, but this is $pgac_perl_version." "$LINENO" 5
fi
fi
if test -z "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-*** Without Perl you will not be able to build PostgreSQL from Git.
-*** You can obtain Perl from any CPAN mirror site.
-*** (If you are using the official distribution of PostgreSQL then you do not
-*** need to worry about this, because the Perl output is pre-generated.)" >&5
-$as_echo "$as_me: WARNING:
-*** Without Perl you will not be able to build PostgreSQL from Git.
-*** You can obtain Perl from any CPAN mirror site.
-*** (If you are using the official distribution of PostgreSQL then you do not
-*** need to worry about this, because the Perl output is pre-generated.)" >&2;}
+ as_fn_error $? "Perl not found" "$LINENO" 5
fi
if test "$with_perl" = yes; then
diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile
index 4fd19aac359..dfb0d806e4b 100644
--- a/contrib/cube/Makefile
+++ b/contrib/cube/Makefile
@@ -18,6 +18,8 @@ REGRESS = cube cube_sci
SHLIB_LINK += $(filter -lm, $(LIBS))
+EXTRA_CLEAN = cubeparse.h cubeparse.c cubescan.c
+
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
@@ -37,8 +39,3 @@ cubeparse.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
cubeparse.o cubescan.o: cubeparse.h
-
-distprep: cubeparse.c cubescan.c
-
-maintainer-clean:
- rm -f cubeparse.h cubeparse.c cubescan.c
diff --git a/contrib/fuzzystrmatch/Makefile b/contrib/fuzzystrmatch/Makefile
index e68bc0e33fd..04c83a34a7b 100644
--- a/contrib/fuzzystrmatch/Makefile
+++ b/contrib/fuzzystrmatch/Makefile
@@ -15,6 +15,8 @@ PGFILEDESC = "fuzzystrmatch - similarities and distance between strings"
REGRESS = fuzzystrmatch fuzzystrmatch_utf8
+EXTRA_CLEAN = daitch_mokotoff.h
+
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
@@ -31,10 +33,3 @@ daitch_mokotoff.o: daitch_mokotoff.h
daitch_mokotoff.h: daitch_mokotoff_header.pl
$(PERL) $< $@
-
-# daitch_mokotoff.h is included in tarballs, so it has to be made by
-# "distprep" and not cleaned except by "maintainer-clean".
-distprep: daitch_mokotoff.h
-
-maintainer-clean:
- rm -f daitch_mokotoff.h
diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile
index a1e49bf051e..132ec8dbfea 100644
--- a/contrib/seg/Makefile
+++ b/contrib/seg/Makefile
@@ -16,7 +16,7 @@ HEADERS = segdata.h
REGRESS = security seg
-EXTRA_CLEAN = y.tab.c y.tab.h
+EXTRA_CLEAN = segparse.h segparse.c segscan.c
ifdef USE_PGXS
PG_CONFIG = pg_config
@@ -38,8 +38,3 @@ segparse.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
segparse.o segscan.o: segparse.h
-
-distprep: segparse.c segscan.c
-
-maintainer-clean:
- rm -f segparse.h segparse.c segscan.c
diff --git a/doc/Makefile b/doc/Makefile
index aee3cc09654..24370fc9030 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -12,5 +12,5 @@ subdir = doc
top_builddir = ..
include $(top_builddir)/src/Makefile.global
-all distprep html man install installdirs uninstall clean distclean maintainer-clean:
+all html man install installdirs uninstall clean distclean:
$(MAKE) -C src $@
diff --git a/doc/src/Makefile b/doc/src/Makefile
index 30d883815aa..2ed02084ff5 100644
--- a/doc/src/Makefile
+++ b/doc/src/Makefile
@@ -4,5 +4,5 @@ subdir = doc/src
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
-all distprep html man install installdirs uninstall clean distclean maintainer-clean:
+all html man install installdirs uninstall clean distclean:
$(MAKE) -C sgml $@
diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile
index 1e55e531dbf..49d35dd0d6e 100644
--- a/doc/src/sgml/Makefile
+++ b/doc/src/sgml/Makefile
@@ -7,8 +7,7 @@
#----------------------------------------------------------------------------
# This makefile is for building and installing the documentation.
-# When a release tarball is created, the documentation files are
-# prepared using the distprep target. In Git-based trees these files
+# In Git-based trees these files
# don't exist, unless explicitly built, so we skip the installation in
# that case.
@@ -28,8 +27,6 @@ include $(top_builddir)/src/Makefile.global
all: html man
-distprep: html distprep-man
-
ifndef DBTOEPUB
DBTOEPUB = $(missing) dbtoepub
@@ -77,7 +74,7 @@ postgres-full.xml: postgres.sgml $(ALLSGML)
## Man pages
##
-man distprep-man: man-stamp
+man: man-stamp
man-stamp: stylesheet-man.xsl postgres-full.xml
$(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_MAN_FLAGS) $^
@@ -89,10 +86,9 @@ man-stamp: stylesheet-man.xsl postgres-full.xml
##
# Technically, this should depend on Makefile.global, but then
-# version.sgml would need to be rebuilt after every configure run,
-# even in distribution tarballs. So this is cheating a bit, but it
-# will achieve the goal of updating the version number when it
-# changes.
+# version.sgml would need to be rebuilt after every configure run. So
+# this is cheating a bit, but it will achieve the goal of updating the
+# version number when it changes.
version.sgml: $(top_srcdir)/configure
{ \
echo "<!ENTITY version \"$(VERSION)\">"; \
@@ -305,8 +301,6 @@ clean:
rm -f *.texixml *.texi *.info db2texi.refs
distclean: clean
-
-maintainer-clean: distclean
# HTML
rm -fr html/ html-stamp
# man
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index 9b25e9fdb1b..a3dc6eb855f 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -72,8 +72,7 @@ documentation. See standalone-profile.xsl for details.
Alternatively, <productname>PostgreSQL</productname> can be built using
<ulink url="https://mesonbuild.com/">Meson</ulink>. This is currently
- experimental and only works when building from a Git checkout (not from
- a distribution tarball). If you choose to use
+ experimental. If you choose to use
<application>Meson</application>, then you don't need
<acronym>GNU</acronym> <application>make</application>, but the other
requirements below still apply.
@@ -105,6 +104,41 @@ documentation. See standalone-profile.xsl for details.
<listitem>
<para>
<indexterm>
+ <primary>flex</primary>
+ </indexterm>
+ <indexterm>
+ <primary>lex</primary>
+ </indexterm>
+ <indexterm>
+ <primary>bison</primary>
+ </indexterm>
+ <indexterm>
+ <primary>yacc</primary>
+ </indexterm>
+
+ <application>Flex</application> 2.5.35 or later and
+ <application>Bison</application> 2.3 or later are required. Other
+ <application>lex</application> and <application>yacc</application>
+ programs cannot be used.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>perl</primary>
+ </indexterm>
+
+ <application>Perl</application> 5.14 or later is needed during the build
+ process and to run some test suites. (This requirement is separate from
+ the requirements for building <application>PL/Perl</application>; see
+ below.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
<primary>readline</primary>
</indexterm>
<indexterm>
@@ -316,51 +350,6 @@ documentation. See standalone-profile.xsl for details.
</para>
<para>
- If you are building from a <productname>Git</productname> tree instead of
- using a released source package, or if you want to do server development,
- you also need the following packages:
-
- <itemizedlist>
- <listitem>
- <para>
- <indexterm>
- <primary>flex</primary>
- </indexterm>
- <indexterm>
- <primary>lex</primary>
- </indexterm>
- <indexterm>
- <primary>bison</primary>
- </indexterm>
- <indexterm>
- <primary>yacc</primary>
- </indexterm>
-
- <application>Flex</application> and <application>Bison</application>
- are needed to build from a Git checkout, or if you changed the actual
- scanner and parser definition files. If you need them, be sure
- to get <application>Flex</application> 2.5.35 or later and
- <application>Bison</application> 2.3 or later. Other <application>lex</application>
- and <application>yacc</application> programs cannot be used.
- </para>
- </listitem>
- <listitem>
- <para>
- <indexterm>
- <primary>perl</primary>
- </indexterm>
-
- <application>Perl</application> 5.14 or later is needed to build from a Git checkout,
- or if you changed the input files for any of the build steps that
- use Perl scripts. If building on Windows you will need
- <application>Perl</application> in any case. <application>Perl</application> is
- also required to run some test suites.
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
If you need to get a <acronym>GNU</acronym> package, you can find
it at your local <acronym>GNU</acronym> mirror site (see <ulink
url="https://www.gnu.org/prep/ftp"></ulink>
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml
index 07b003a7941..6c13c5a30cd 100644
--- a/doc/src/sgml/sourcerepo.sgml
+++ b/doc/src/sgml/sourcerepo.sgml
@@ -16,16 +16,6 @@
has some discussion on working with Git.
</para>
- <para>
- Note that building <productname>PostgreSQL</productname> from the source
- repository requires reasonably up-to-date versions of <application>bison</application>,
- <application>flex</application>, and <application>Perl</application>.
- These tools are not needed to build from a distribution tarball, because
- the files generated with these tools are included in the tarball.
- Other tool requirements
- are the same as shown in <xref linkend="install-requirements"/>.
- </para>
-
<sect1 id="git">
<title>Getting the Source via <productname>Git</productname></title>
diff --git a/meson.build b/meson.build
index 2d516c8f372..88a9d9051fe 100644
--- a/meson.build
+++ b/meson.build
@@ -72,7 +72,7 @@ configure. Alternatively use a separate check out for meson based builds.
@0@
****'''
if fs.exists(meson.current_source_dir() / 'src' / 'include' / 'pg_config.h')
- errmsg_cleanup = 'To clean up, run make maintainer-clean in the source tree.'
+ errmsg_cleanup = 'To clean up, run make distclean in the source tree.'
error(errmsg_nonclean_base.format(errmsg_cleanup))
endif
diff --git a/src/Makefile b/src/Makefile
index 94649c36c7a..2f31a2f20a7 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -59,16 +59,13 @@ uninstall: uninstall-local
uninstall-local:
rm -f $(addprefix '$(DESTDIR)$(pgxsdir)/$(subdir)'/, Makefile.global Makefile.port Makefile.shlib nls-global.mk)
-distprep:
- $(MAKE) -C test/isolation $@
-
clean:
$(MAKE) -C test $@
$(MAKE) -C tutorial NO_PGXS=1 $@
$(MAKE) -C test/isolation $@
$(MAKE) -C tools/pg_bsd_indent $@
-distclean maintainer-clean:
+distclean:
$(MAKE) -C test $@
$(MAKE) -C tutorial NO_PGXS=1 $@
$(MAKE) -C test/isolation $@
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 7b66590801e..b3ca6392a6b 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -19,11 +19,11 @@
#
# Meta configuration
-standard_targets = all install installdirs uninstall distprep clean distclean maintainer-clean coverage check checkprep installcheck init-po update-po
+standard_targets = all install installdirs uninstall clean distclean coverage check checkprep installcheck init-po update-po
# these targets should recurse even into subdirectories not being built:
-standard_always_targets = distprep clean distclean maintainer-clean
+standard_always_targets = clean distclean
-.PHONY: $(standard_targets) install-strip html man installcheck-parallel update-unicode
+.PHONY: $(standard_targets) maintainer-clean install-strip html man installcheck-parallel update-unicode
# make `all' the default target
all:
@@ -35,6 +35,8 @@ all:
# Never delete any intermediate files automatically.
.SECONDARY:
+maintainer-clean: distclean
+
# PostgreSQL version number
VERSION = @PACKAGE_VERSION@
MAJORVERSION = @PG_MAJORVERSION@
@@ -319,12 +321,8 @@ X = @EXEEXT@
# Perl
-ifneq (@PERL@,)
- # quoted to protect pathname with spaces
- PERL = '@PERL@'
-else
- PERL = $(missing) perl
-endif
+# quoted to protect pathname with spaces
+PERL = '@PERL@'
perl_archlibexp = @perl_archlibexp@
perl_privlibexp = @perl_privlibexp@
perl_includespec = @perl_includespec@
@@ -777,21 +775,13 @@ TAS = @TAS@
# Global targets and rules
%.c: %.l
-ifdef FLEX
$(FLEX) $(if $(FLEX_NO_BACKUP),-b) $(FLEXFLAGS) -o'$@' $<
@$(if $(FLEX_NO_BACKUP),if [ `wc -l <lex.backup` -eq 1 ]; then rm lex.backup; else echo "Scanner requires backup; see lex.backup." 1>&2; exit 1; fi)
$(if $(FLEX_FIX_WARNING),$(PERL) $(top_srcdir)/src/tools/fix-old-flex-code.pl '$@')
-else
- @$(missing) flex $< '$@'
-endif
%.c: %.y
$(if $(BISON_CHECK_CMD),$(BISON_CHECK_CMD))
-ifdef BISON
$(BISON) $(BISONFLAGS) -o $@ $<
-else
- @$(missing) bison $< $@
-endif
%.i: %.c
$(CPP) $(CPPFLAGS) -o $@ $<
@@ -919,7 +909,7 @@ recurse = $(foreach target,$(if $1,$1,$(standard_targets)),$(foreach subdir,$(if
# If a makefile's list of SUBDIRS varies depending on configuration, then
# any subdirectories excluded from SUBDIRS should instead be added to
# ALWAYS_SUBDIRS, and then it must call recurse_always as well as recurse.
-# This ensures that distprep, distclean, etc will apply to all subdirectories.
+# This ensures that distclean, etc will apply to all subdirectories.
# In the normal case all arguments will be defaulted.
# $1: targets to make recursive (defaults to standard_always_targets)
# $2: list of subdirs (defaults to ALWAYS_SUBDIRS variable)
@@ -974,7 +964,7 @@ include $(Po_files)
endif
# hook for clean-up
-clean distclean maintainer-clean: clean-deps
+clean distclean: clean-deps
.PHONY: clean-deps
clean-deps:
@@ -1058,7 +1048,7 @@ lcov_test.info: $(all_gcda_files)
# hook for clean-up
-clean distclean maintainer-clean: clean-coverage
+clean distclean: clean-coverage
.PHONY: clean-coverage
clean-coverage:
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 3e275ac7599..0a475f01a4a 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -138,42 +138,33 @@ utils/activity/wait_event_types.h: utils/activity/generate-wait_event_types.pl u
# run this unconditionally to avoid needing to know its dependencies here:
submake-catalog-headers:
- $(MAKE) -C catalog distprep generated-header-symlinks
+ $(MAKE) -C catalog generated-header-symlinks
# run this unconditionally to avoid needing to know its dependencies here:
submake-nodes-headers:
- $(MAKE) -C nodes distprep generated-header-symlinks
+ $(MAKE) -C nodes generated-header-symlinks
# run this unconditionally to avoid needing to know its dependencies here:
submake-utils-headers:
- $(MAKE) -C utils distprep generated-header-symlinks
+ $(MAKE) -C utils generated-header-symlinks
.PHONY: submake-catalog-headers submake-nodes-headers submake-utils-headers
# Make symlinks for these headers in the include directory. That way
# we can cut down on the -I options. Also, a symlink is automatically
# up to date when we update the base file.
-#
-# The point of the prereqdir incantation in some of the rules below is to
-# force the symlink to use an absolute path rather than a relative path.
-# For headers which are generated by make distprep, the actual header within
-# src/backend will be in the source tree, while the symlink in src/include
-# will be in the build tree, so a simple ../.. reference won't work.
-# For headers generated during regular builds, we prefer a relative symlink.
.PHONY: generated-headers
-generated-headers: $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/wait_event_types.h submake-catalog-headers submake-nodes-headers submake-utils-headers
+generated-headers: $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/wait_event_types.h submake-catalog-headers submake-nodes-headers submake-utils-headers parser/gram.h
$(top_builddir)/src/include/storage/lwlocknames.h: storage/lmgr/lwlocknames.h
- prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
- cd '$(dir $@)' && rm -f $(notdir $@) && \
- $(LN_S) "$$prereqdir/$(notdir $<)" .
+ rm -f '$@'
+ $(LN_S) ../../backend/$< '$@'
$(top_builddir)/src/include/utils/wait_event_types.h: utils/activity/wait_event_types.h
- prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
- cd '$(dir $@)' && rm -f $(notdir $@) && \
- $(LN_S) "$$prereqdir/$(notdir $<)" .
+ rm -f '$@'
+ $(LN_S) ../../backend/$< '$@'
utils/probes.o: utils/probes.d $(SUBDIROBJS)
$(DTRACE) $(DTRACEFLAGS) -C -G -s $(call expand_subsys,$^) -o $@
@@ -181,16 +172,12 @@ utils/probes.o: utils/probes.d $(SUBDIROBJS)
##########################################################################
-# Be sure that these files get removed by the maintainer-clean target
-distprep:
+# This target is only needed by nls.mk.
+.PHONY: generated-parser-sources
+generated-parser-sources:
$(MAKE) -C parser gram.c gram.h scan.c
$(MAKE) -C bootstrap bootparse.c bootparse.h bootscanner.c
- $(MAKE) -C catalog distprep
- $(MAKE) -C nodes distprep
$(MAKE) -C replication repl_gram.c repl_gram.h repl_scanner.c syncrep_gram.c syncrep_gram.h syncrep_scanner.c
- $(MAKE) -C storage/lmgr lwlocknames.h lwlocknames.c
- $(MAKE) -C utils distprep
- $(MAKE) -C utils/activity wait_event_types.h pgstat_wait_event.c
$(MAKE) -C utils/adt jsonpath_gram.c jsonpath_gram.h jsonpath_scan.c
$(MAKE) -C utils/misc guc-file.c
@@ -290,34 +277,9 @@ ifeq ($(PORTNAME), win32)
endif
distclean: clean
+# generated by configure
rm -f port/tas.s port/pg_sema.c port/pg_shmem.c
-maintainer-clean: distclean
- $(MAKE) -C catalog $@
- $(MAKE) -C nodes $@
- $(MAKE) -C utils $@
- rm -f bootstrap/bootparse.c \
- bootstrap/bootparse.h \
- bootstrap/bootscanner.c \
- parser/gram.c \
- parser/gram.h \
- parser/scan.c \
- replication/repl_gram.c \
- replication/repl_gram.h \
- replication/repl_scanner.c \
- replication/syncrep_gram.c \
- replication/syncrep_gram.h \
- replication/syncrep_scanner.c \
- storage/lmgr/lwlocknames.c \
- storage/lmgr/lwlocknames.h \
- utils/activity/pgstat_wait_event.c \
- utils/activity/wait_event_funcs_data.c \
- utils/activity/wait_event_types.h \
- utils/adt/jsonpath_gram.c \
- utils/adt/jsonpath_gram.h \
- utils/adt/jsonpath_scan.c \
- utils/misc/guc-file.c
-
##########################################################################
#
diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile
index 606c8021e76..509b51e6483 100644
--- a/src/backend/bootstrap/Makefile
+++ b/src/backend/bootstrap/Makefile
@@ -28,5 +28,7 @@ bootparse.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
bootparse.o bootscanner.o: bootparse.h
-# bootparse.c and bootscanner.c are in the distribution tarball, so
-# they are not cleaned here.
+clean:
+ rm -f bootparse.c \
+ bootparse.h \
+ bootscanner.c
diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile
index 3e9994793d6..ec7b6f53624 100644
--- a/src/backend/catalog/Makefile
+++ b/src/backend/catalog/Makefile
@@ -152,9 +152,7 @@ POSTGRES_BKI_DATA = $(addprefix $(top_srcdir)/src/include/catalog/,\
pg_type.dat \
)
-all: distprep generated-header-symlinks
-
-distprep: bki-stamp
+all: generated-header-symlinks
.PHONY: generated-header-symlinks
@@ -173,14 +171,12 @@ bki-stamp: genbki.pl Catalog.pm $(POSTGRES_BKI_SRCS) $(POSTGRES_BKI_DATA) $(top_
--set-version=$(MAJORVERSION) $(POSTGRES_BKI_SRCS)
touch $@
-# The generated headers must all be symlinked into builddir/src/include/,
-# using absolute links for the reasons explained in src/backend/Makefile.
+# The generated headers must all be symlinked into src/include/.
# We use header-stamp to record that we've done this because the symlinks
# themselves may appear older than bki-stamp.
$(top_builddir)/src/include/catalog/header-stamp: bki-stamp
- prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
cd '$(dir $@)' && for file in $(GENERATED_HEADERS); do \
- rm -f $$file && $(LN_S) "$$prereqdir/$$file" . ; \
+ rm -f $$file && $(LN_S) "../../../$(subdir)/$$file" . ; \
done
touch $@
@@ -201,9 +197,5 @@ installdirs:
uninstall-data:
rm -f $(addprefix '$(DESTDIR)$(datadir)'/, postgres.bki system_constraints.sql system_functions.sql system_views.sql information_schema.sql sql_features.txt)
-# postgres.bki, system_constraints.sql, and the generated headers are
-# in the distribution tarball, so they are not cleaned here.
clean:
-
-maintainer-clean: clean
rm -f bki-stamp postgres.bki system_constraints.sql $(GENERATED_HEADERS)
diff --git a/src/backend/jit/llvm/Makefile b/src/backend/jit/llvm/Makefile
index 2da122a391e..0036c4f5520 100644
--- a/src/backend/jit/llvm/Makefile
+++ b/src/backend/jit/llvm/Makefile
@@ -71,6 +71,6 @@ uninstall-types:
include $(top_srcdir)/src/Makefile.shlib
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
rm -f $(OBJS)
rm -f llvmjit_types.bc
diff --git a/src/backend/nls.mk b/src/backend/nls.mk
index 8263527c851..dfb053c2a79 100644
--- a/src/backend/nls.mk
+++ b/src/backend/nls.mk
@@ -22,7 +22,7 @@ GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS) \
report_invalid_record:2:c-format \
ereport_startup_progress:1:c-format
-gettext-files: distprep
+gettext-files: generated-parser-sources generated-headers
find $(srcdir) $(srcdir)/../common $(srcdir)/../port -name '*.c' -print | LC_ALL=C sort >$@
my-clean:
diff --git a/src/backend/nodes/Makefile b/src/backend/nodes/Makefile
index 0a95e683d0f..ebbe9052cb7 100644
--- a/src/backend/nodes/Makefile
+++ b/src/backend/nodes/Makefile
@@ -65,9 +65,7 @@ node_headers = \
# see also catalog/Makefile for an explanation of these make rules
-all: distprep generated-header-symlinks
-
-distprep: node-support-stamp
+all: generated-header-symlinks
.PHONY: generated-header-symlinks
@@ -81,14 +79,12 @@ node-support-stamp: gen_node_support.pl $(addprefix $(top_srcdir)/src/include/,$
$(PERL) $^
touch $@
-# These generated headers must be symlinked into builddir/src/include/,
-# using absolute links for the reasons explained in src/backend/Makefile.
+# These generated headers must be symlinked into src/include/.
# We use header-stamp to record that we've done this because the symlinks
# themselves may appear older than node-support-stamp.
$(top_builddir)/src/include/nodes/header-stamp: node-support-stamp
- prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
cd '$(dir $@)' && for file in nodetags.h; do \
- rm -f $$file && $(LN_S) "$$prereqdir/$$file" . ; \
+ rm -f $$file && $(LN_S) "../../../$(subdir)/$$file" . ; \
done
touch $@
@@ -98,5 +94,5 @@ outfuncs.o: outfuncs.c outfuncs.funcs.c outfuncs.switch.c | node-support-stamp
queryjumblefuncs.o: queryjumblefuncs.c queryjumblefuncs.funcs.c queryjumblefuncs.switch.c | node-support-stamp
readfuncs.o: readfuncs.c readfuncs.funcs.c readfuncs.switch.c | node-support-stamp
-maintainer-clean: clean
+clean:
rm -f node-support-stamp $(addsuffix funcs.funcs.c,copy equal out queryjumble read) $(addsuffix funcs.switch.c,copy equal out queryjumble read) nodetags.h
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
index 9f1c4022bbe..401c16686c6 100644
--- a/src/backend/parser/Makefile
+++ b/src/backend/parser/Makefile
@@ -64,8 +64,8 @@ scan.c: FLEX_FIX_WARNING=yes
# Force these dependencies to be known even without dependency info built:
gram.o scan.o parser.o: gram.h
-
-# gram.c, gram.h, and scan.c are in the distribution tarball, so they
-# are not cleaned here.
-clean distclean maintainer-clean:
+clean:
+ rm -f gram.c \
+ gram.h \
+ scan.c
rm -f lex.backup
diff --git a/src/backend/port/Makefile b/src/backend/port/Makefile
index 2d00b4f05a7..47338d99229 100644
--- a/src/backend/port/Makefile
+++ b/src/backend/port/Makefile
@@ -43,6 +43,6 @@ else
$(CC) $(CFLAGS) -c $<
endif
-distclean clean:
+clean:
rm -f tas_cpp.s
$(MAKE) -C win32 clean
diff --git a/src/backend/replication/Makefile b/src/backend/replication/Makefile
index 23f29ba5457..7f867ee91dd 100644
--- a/src/backend/replication/Makefile
+++ b/src/backend/replication/Makefile
@@ -48,6 +48,10 @@ syncrep_gram.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
syncrep_gram.o syncrep_scanner.o: syncrep_gram.h
-# repl_gram.c, repl_scanner.c, syncrep_gram.c and syncrep_scanner.c
-# are in the distribution tarball, so they are not cleaned here.
-# (Our parent Makefile takes care of them during maintainer-clean.)
+clean:
+ rm -f repl_gram.c \
+ repl_gram.h \
+ repl_scanner.c \
+ syncrep_gram.c \
+ syncrep_gram.h \
+ syncrep_scanner.c
diff --git a/src/backend/replication/libpqwalreceiver/Makefile b/src/backend/replication/libpqwalreceiver/Makefile
index f26daa135f3..e8829073507 100644
--- a/src/backend/replication/libpqwalreceiver/Makefile
+++ b/src/backend/replication/libpqwalreceiver/Makefile
@@ -33,5 +33,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
rm -f $(OBJS)
diff --git a/src/backend/replication/pgoutput/Makefile b/src/backend/replication/pgoutput/Makefile
index 3b41fbcfac2..d89d317fe7a 100644
--- a/src/backend/replication/pgoutput/Makefile
+++ b/src/backend/replication/pgoutput/Makefile
@@ -28,5 +28,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
rm -f $(OBJS)
diff --git a/src/backend/snowball/Makefile b/src/backend/snowball/Makefile
index 4bebfa02506..efc4300eb97 100644
--- a/src/backend/snowball/Makefile
+++ b/src/backend/snowball/Makefile
@@ -104,8 +104,6 @@ include $(top_srcdir)/src/Makefile.shlib
$(SQLSCRIPT): snowball_create.pl snowball_func.sql.in snowball.sql.in
$(PERL) $< --input ${srcdir} --outdir .
-distprep: $(SQLSCRIPT)
-
install: all installdirs install-lib install-script
$(INSTALL_DATA) $(addprefix $(srcdir)/stopwords/,$(stop_files)) '$(DESTDIR)$(datadir)/$(DICTDIR)'
@@ -122,6 +120,4 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
-
-maintainer-clean: distclean
rm -f $(SQLSCRIPT)
diff --git a/src/backend/storage/lmgr/Makefile b/src/backend/storage/lmgr/Makefile
index b25b7ee421d..c48ba943c4c 100644
--- a/src/backend/storage/lmgr/Makefile
+++ b/src/backend/storage/lmgr/Makefile
@@ -45,8 +45,6 @@ lwlocknames.h: $(top_srcdir)/src/backend/storage/lmgr/lwlocknames.txt generate-l
check: s_lock_test
./s_lock_test
-clean distclean:
+clean:
rm -f s_lock_test
-
-maintainer-clean: clean
rm -f lwlocknames.h lwlocknames.c
diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile
index deb901609f6..e184e3dfdf1 100644
--- a/src/backend/utils/Makefile
+++ b/src/backend/utils/Makefile
@@ -34,13 +34,14 @@ catalogdir = $(top_srcdir)/src/backend/catalog
include $(top_srcdir)/src/backend/common.mk
-all: distprep probes.h generated-header-symlinks
+all: probes.h generated-header-symlinks
-distprep: fmgr-stamp errcodes.h
+.PHONY: generated-header-symlinks submake-adt-headers
-.PHONY: generated-header-symlinks
+generated-header-symlinks: $(top_builddir)/src/include/utils/header-stamp submake-adt-headers
-generated-header-symlinks: $(top_builddir)/src/include/utils/header-stamp $(top_builddir)/src/include/utils/probes.h
+submake-adt-headers:
+ $(MAKE) -C adt jsonpath_gram.h
$(SUBDIRS:%=%-recursive): fmgr-stamp errcodes.h
@@ -66,22 +67,15 @@ probes.h: Gen_dummy_probes.sed probes.d
sed -f $^ >$@
endif
-# These generated headers must be symlinked into builddir/src/include/,
-# using absolute links for the reasons explained in src/backend/Makefile.
+# These generated headers must be symlinked into src/include/.
# We use header-stamp to record that we've done this because the symlinks
# themselves may appear older than fmgr-stamp.
-$(top_builddir)/src/include/utils/header-stamp: fmgr-stamp errcodes.h
- prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
- cd '$(dir $@)' && for file in fmgroids.h fmgrprotos.h errcodes.h; do \
- rm -f $$file && $(LN_S) "$$prereqdir/$$file" . ; \
+$(top_builddir)/src/include/utils/header-stamp: fmgr-stamp errcodes.h probes.h
+ cd '$(dir $@)' && for file in fmgroids.h fmgrprotos.h errcodes.h probes.h; do \
+ rm -f $$file && $(LN_S) "../../../$(subdir)/$$file" . ; \
done
touch $@
-# probes.h is handled differently because it's not in the distribution tarball.
-$(top_builddir)/src/include/utils/probes.h: probes.h
- cd '$(dir $@)' && rm -f $(notdir $@) && \
- $(LN_S) "../../../$(subdir)/probes.h" .
-
# Recipe for rebuilding the Perl version of Gen_dummy_probes
# Nothing depends on it, so it will never be called unless explicitly requested
# The last two lines of the recipe format the script according to our
@@ -104,10 +98,6 @@ installdirs:
uninstall-data:
rm -f $(addprefix '$(DESTDIR)$(datadir)'/, errcodes.txt)
-# fmgroids.h, fmgrprotos.h, fmgrtab.c, fmgr-stamp, and errcodes.h are in the
-# distribution tarball, so they are not cleaned here.
clean:
rm -f probes.h probes.h.tmp
-
-maintainer-clean: clean
rm -f fmgroids.h fmgrprotos.h fmgrtab.c fmgr-stamp errcodes.h
diff --git a/src/backend/utils/activity/Makefile b/src/backend/utils/activity/Makefile
index f57cf3958c1..a4397ef907f 100644
--- a/src/backend/utils/activity/Makefile
+++ b/src/backend/utils/activity/Makefile
@@ -47,5 +47,5 @@ pgstat_wait_event.c: wait_event_types.h
wait_event_types.h: $(top_srcdir)/src/backend/utils/activity/wait_event_names.txt generate-wait_event_types.pl
$(PERL) $(srcdir)/generate-wait_event_types.pl --code $<
-maintainer-clean: clean
+clean:
rm -f wait_event_types.h pgstat_wait_event.c wait_event_funcs_data.c
diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile
index 0de0bbb1b8a..199eae525d1 100644
--- a/src/backend/utils/adt/Makefile
+++ b/src/backend/utils/adt/Makefile
@@ -132,10 +132,9 @@ jsonpath_scan.c: FLEX_NO_BACKUP=yes
# Force these dependencies to be known even without dependency info built:
jsonpath_gram.o jsonpath_scan.o: jsonpath_gram.h
-# jsonpath_gram.c and jsonpath_scan.c are in the distribution tarball,
-# so they are not cleaned here.
-clean distclean maintainer-clean:
+clean:
rm -f lex.backup
+ rm -f jsonpath_gram.c jsonpath_gram.h jsonpath_scan.c
like.o: like.c like_match.c
diff --git a/src/backend/utils/mb/Makefile b/src/backend/utils/mb/Makefile
index b19a125fa2f..bbde71b5aaa 100644
--- a/src/backend/utils/mb/Makefile
+++ b/src/backend/utils/mb/Makefile
@@ -21,5 +21,5 @@ OBJS = \
include $(top_srcdir)/src/backend/common.mk
-clean distclean maintainer-clean:
+clean distclean:
$(MAKE) -C conversion_procs $@
diff --git a/src/backend/utils/mb/Unicode/Makefile b/src/backend/utils/mb/Unicode/Makefile
index ea930a7b95a..c540f34649d 100644
--- a/src/backend/utils/mb/Unicode/Makefile
+++ b/src/backend/utils/mb/Unicode/Makefile
@@ -66,8 +66,6 @@ all: $(MAPS)
distclean: clean
rm -f $(TEXTS)
-
-maintainer-clean: distclean
rm -f $(MAPS)
diff --git a/src/backend/utils/mb/conversion_procs/proc.mk b/src/backend/utils/mb/conversion_procs/proc.mk
index e0a3b74b25e..2eeae282409 100644
--- a/src/backend/utils/mb/conversion_procs/proc.mk
+++ b/src/backend/utils/mb/conversion_procs/proc.mk
@@ -13,5 +13,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
rm -f $(OBJS)
diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile
index 29100329300..c2971c76782 100644
--- a/src/backend/utils/misc/Makefile
+++ b/src/backend/utils/misc/Makefile
@@ -40,6 +40,5 @@ endif
include $(top_srcdir)/src/backend/common.mk
-# Note: guc-file.c is not deleted by 'make clean',
-# since we want to ship it in distribution tarballs.
clean:
+ rm -f guc-file.c
diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile
index e80e57e4579..4a00aa66b61 100644
--- a/src/bin/initdb/Makefile
+++ b/src/bin/initdb/Makefile
@@ -54,7 +54,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/initdb$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f initdb$(X) $(OBJS) localtime.c
rm -rf tmp_check
diff --git a/src/bin/pg_amcheck/Makefile b/src/bin/pg_amcheck/Makefile
index 947f2267ed1..528c588e35f 100644
--- a/src/bin/pg_amcheck/Makefile
+++ b/src/bin/pg_amcheck/Makefile
@@ -40,7 +40,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_amcheck$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_amcheck$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_archivecleanup/Makefile b/src/bin/pg_archivecleanup/Makefile
index 49935d6dce3..93fd703f225 100644
--- a/src/bin/pg_archivecleanup/Makefile
+++ b/src/bin/pg_archivecleanup/Makefile
@@ -25,7 +25,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_archivecleanup$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_archivecleanup$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_basebackup/Makefile b/src/bin/pg_basebackup/Makefile
index 893a75c942d..74dc1ddd6da 100644
--- a/src/bin/pg_basebackup/Makefile
+++ b/src/bin/pg_basebackup/Makefile
@@ -71,7 +71,7 @@ uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_receivewal$(X)'
rm -f '$(DESTDIR)$(bindir)/pg_recvlogical$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_basebackup$(X) pg_receivewal$(X) pg_recvlogical$(X) \
$(BBOBJS) pg_receivewal.o pg_recvlogical.o \
$(OBJS)
diff --git a/src/bin/pg_checksums/Makefile b/src/bin/pg_checksums/Makefile
index 4911f6bee2c..ac736b2260e 100644
--- a/src/bin/pg_checksums/Makefile
+++ b/src/bin/pg_checksums/Makefile
@@ -36,7 +36,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_checksums$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_checksums$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_config/Makefile b/src/bin/pg_config/Makefile
index 1a405f9c977..cb13aceafae 100644
--- a/src/bin/pg_config/Makefile
+++ b/src/bin/pg_config/Makefile
@@ -33,7 +33,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_config$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_config$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_controldata/Makefile b/src/bin/pg_controldata/Makefile
index aa5bd582226..00ee1e25b3d 100644
--- a/src/bin/pg_controldata/Makefile
+++ b/src/bin/pg_controldata/Makefile
@@ -33,7 +33,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_controldata$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_controldata$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile
index 4b6d47a8f88..4d29ca72c16 100644
--- a/src/bin/pg_ctl/Makefile
+++ b/src/bin/pg_ctl/Makefile
@@ -42,7 +42,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_ctl$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_ctl$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_dump/Makefile b/src/bin/pg_dump/Makefile
index 24de7593a6a..604cddb9972 100644
--- a/src/bin/pg_dump/Makefile
+++ b/src/bin/pg_dump/Makefile
@@ -69,6 +69,6 @@ installcheck:
uninstall:
rm -f $(addprefix '$(DESTDIR)$(bindir)'/, pg_dump$(X) pg_restore$(X) pg_dumpall$(X))
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_dump$(X) pg_restore$(X) pg_dumpall$(X) $(OBJS) pg_dump.o common.o pg_dump_sort.o pg_restore.o pg_dumpall.o
rm -rf tmp_check
diff --git a/src/bin/pg_resetwal/Makefile b/src/bin/pg_resetwal/Makefile
index 5c86435e22b..a93e6611af8 100644
--- a/src/bin/pg_resetwal/Makefile
+++ b/src/bin/pg_resetwal/Makefile
@@ -35,7 +35,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_resetwal$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_resetwal$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_rewind/Makefile b/src/bin/pg_rewind/Makefile
index bed05f1609c..8df1da80cb7 100644
--- a/src/bin/pg_rewind/Makefile
+++ b/src/bin/pg_rewind/Makefile
@@ -49,7 +49,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_rewind$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_rewind$(X) $(OBJS) xlogreader.c
rm -rf tmp_check
diff --git a/src/bin/pg_test_fsync/Makefile b/src/bin/pg_test_fsync/Makefile
index 631d0f38a8e..4c5e5181250 100644
--- a/src/bin/pg_test_fsync/Makefile
+++ b/src/bin/pg_test_fsync/Makefile
@@ -31,6 +31,6 @@ installcheck:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_test_fsync$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_test_fsync$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_test_timing/Makefile b/src/bin/pg_test_timing/Makefile
index 84d84c38aa8..7f677edadb3 100644
--- a/src/bin/pg_test_timing/Makefile
+++ b/src/bin/pg_test_timing/Makefile
@@ -31,6 +31,6 @@ installcheck:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_test_timing$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_test_timing$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_upgrade/Makefile b/src/bin/pg_upgrade/Makefile
index 05e92996544..bde91e2beb8 100644
--- a/src/bin/pg_upgrade/Makefile
+++ b/src/bin/pg_upgrade/Makefile
@@ -49,7 +49,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_upgrade$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_upgrade$(X) $(OBJS)
rm -rf delete_old_cluster.sh log/ tmp_check/ \
reindex_hash.sql
diff --git a/src/bin/pg_verifybackup/Makefile b/src/bin/pg_verifybackup/Makefile
index 596df15118b..c96323faa9c 100644
--- a/src/bin/pg_verifybackup/Makefile
+++ b/src/bin/pg_verifybackup/Makefile
@@ -38,7 +38,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_verifybackup$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_verifybackup$(X) $(OBJS)
rm -rf tmp_check
diff --git a/src/bin/pg_waldump/Makefile b/src/bin/pg_waldump/Makefile
index 0ecf582039d..4c1ee649501 100644
--- a/src/bin/pg_waldump/Makefile
+++ b/src/bin/pg_waldump/Makefile
@@ -45,7 +45,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_waldump$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_waldump$(X) $(OBJS) $(RMGRDESCSOURCES) xlogreader.c xlogstats.c
rm -rf tmp_check
diff --git a/src/bin/pgbench/Makefile b/src/bin/pgbench/Makefile
index 68b6eb0376e..987bf64df9d 100644
--- a/src/bin/pgbench/Makefile
+++ b/src/bin/pgbench/Makefile
@@ -38,8 +38,6 @@ exprparse.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
exprparse.o exprscan.o: exprparse.h
-distprep: exprparse.c exprscan.c
-
install: all installdirs
$(INSTALL_PROGRAM) pgbench$(X) '$(DESTDIR)$(bindir)/pgbench$(X)'
@@ -52,8 +50,6 @@ uninstall:
clean distclean:
rm -f pgbench$(X) $(OBJS)
rm -rf tmp_check
-
-maintainer-clean: distclean
rm -f exprparse.h exprparse.c exprscan.c
check:
diff --git a/src/bin/psql/Makefile b/src/bin/psql/Makefile
index 1f2bf0c6b00..8ad7c654460 100644
--- a/src/bin/psql/Makefile
+++ b/src/bin/psql/Makefile
@@ -62,8 +62,6 @@ psqlscanslash.c: FLEXFLAGS = -Cfe -p -p
psqlscanslash.c: FLEX_NO_BACKUP=yes
psqlscanslash.c: FLEX_FIX_WARNING=yes
-distprep: sql_help.h sql_help.c psqlscanslash.c
-
install: all installdirs
$(INSTALL_PROGRAM) psql$(X) '$(DESTDIR)$(bindir)/psql$(X)'
$(INSTALL_DATA) $(srcdir)/psqlrc.sample '$(DESTDIR)$(datadir)/psqlrc.sample'
@@ -77,10 +75,6 @@ uninstall:
clean distclean:
rm -f psql$(X) $(OBJS) lex.backup
rm -rf tmp_check
-
-# files removed here are supposed to be in the distribution tarball,
-# so do not clean them in the clean/distclean rules
-maintainer-clean: distclean
rm -f sql_help.h sql_help.c psqlscanslash.c
check:
diff --git a/src/bin/scripts/Makefile b/src/bin/scripts/Makefile
index a7a9d0fea54..20db40b1038 100644
--- a/src/bin/scripts/Makefile
+++ b/src/bin/scripts/Makefile
@@ -48,7 +48,7 @@ installdirs:
uninstall:
rm -f $(addprefix '$(DESTDIR)$(bindir)'/, $(addsuffix $(X), $(PROGRAMS)))
-clean distclean maintainer-clean:
+clean distclean:
rm -f $(addsuffix $(X), $(PROGRAMS)) $(addsuffix .o, $(PROGRAMS))
rm -f common.o $(WIN32RES)
rm -rf tmp_check
diff --git a/src/common/Makefile b/src/common/Makefile
index 8de31d47633..ce4535d7fec 100644
--- a/src/common/Makefile
+++ b/src/common/Makefile
@@ -123,8 +123,6 @@ GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm
all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
-distprep: kwlist_d.h
-
# libpgcommon is needed by some contrib
install: all installdirs
$(INSTALL_STLIB) libpgcommon.a '$(DESTDIR)$(libdir)/libpgcommon.a'
@@ -197,10 +195,7 @@ RYU_OBJS = $(RYU_FILES) $(RYU_FILES:%.o=%_shlib.o) $(RYU_FILES:%.o=%_srv.o)
$(RYU_OBJS): CFLAGS += $(PERMIT_DECLARATION_AFTER_STATEMENT)
-# kwlist_d.h is in the distribution tarball, so it is not cleaned here.
clean distclean:
rm -f libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a
rm -f $(OBJS_FRONTEND) $(OBJS_SHLIB) $(OBJS_SRV)
-
-maintainer-clean: distclean
rm -f kwlist_d.h
diff --git a/src/common/unicode/Makefile b/src/common/unicode/Makefile
index 27a7d5a807e..30cd75cc6a7 100644
--- a/src/common/unicode/Makefile
+++ b/src/common/unicode/Makefile
@@ -83,5 +83,3 @@ clean:
distclean: clean
rm -f UnicodeData.txt EastAsianWidth.txt CompositionExclusions.txt NormalizationTest.txt norm_test_table.h unicode_norm_table.h
-
-maintainer-clean: distclean
diff --git a/src/fe_utils/Makefile b/src/fe_utils/Makefile
index 456d6dd3904..8accd5906d6 100644
--- a/src/fe_utils/Makefile
+++ b/src/fe_utils/Makefile
@@ -48,8 +48,6 @@ psqlscan.c: FLEXFLAGS = -Cfe -p -p
psqlscan.c: FLEX_NO_BACKUP=yes
psqlscan.c: FLEX_FIX_WARNING=yes
-distprep: psqlscan.c
-
# libpgfeutils could be useful to contrib, so install it
install: all installdirs
$(INSTALL_STLIB) libpgfeutils.a '$(DESTDIR)$(libdir)/libpgfeutils.a'
@@ -62,8 +60,4 @@ uninstall:
clean distclean:
rm -f libpgfeutils.a $(OBJS) lex.backup
-
-# psqlscan.c is supposed to be in the distribution tarball,
-# so do not clean it in the clean/distclean rules
-maintainer-clean: distclean
rm -f psqlscan.c
diff --git a/src/include/Makefile b/src/include/Makefile
index a7ca2778031..11dd6f0d772 100644
--- a/src/include/Makefile
+++ b/src/include/Makefile
@@ -78,5 +78,5 @@ clean:
rm -f catalog/pg_*_d.h catalog/header-stamp
rm -f nodes/nodetags.h nodes/header-stamp
-distclean maintainer-clean: clean
+distclean: clean
rm -f pg_config.h pg_config_ext.h pg_config_os.h stamp-h stamp-ext-h
diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile
index e4bbf7b8a86..3002bc3c1bb 100644
--- a/src/interfaces/ecpg/Makefile
+++ b/src/interfaces/ecpg/Makefile
@@ -23,7 +23,7 @@ install-pgtypeslib-recurse install-ecpglib-recurse install-compatlib-recurse ins
install-compatlib-recurse: install-ecpglib-recurse
install-ecpglib-recurse: install-pgtypeslib-recurse
-clean distclean maintainer-clean:
+clean distclean:
$(MAKE) -C test clean
checktcp: | temp-install
diff --git a/src/interfaces/ecpg/compatlib/Makefile b/src/interfaces/ecpg/compatlib/Makefile
index b9483fba08a..695fd1a080a 100644
--- a/src/interfaces/ecpg/compatlib/Makefile
+++ b/src/interfaces/ecpg/compatlib/Makefile
@@ -55,5 +55,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
-
-maintainer-clean: distclean
diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile
index 652e0234050..103cce393ae 100644
--- a/src/interfaces/ecpg/ecpglib/Makefile
+++ b/src/interfaces/ecpg/ecpglib/Makefile
@@ -66,5 +66,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
-
-maintainer-clean: distclean
diff --git a/src/interfaces/ecpg/include/Makefile b/src/interfaces/ecpg/include/Makefile
index 9c68bf3c477..3476409cefb 100644
--- a/src/interfaces/ecpg/include/Makefile
+++ b/src/interfaces/ecpg/include/Makefile
@@ -31,5 +31,5 @@ uninstall:
rm -f $(addprefix '$(DESTDIR)$(informix_esql_dir)'/, $(informix_headers))
rm -f '$(DESTDIR)$(includedir)'/$(notdir $(ecpg_config_h))
-distclean maintainer-clean:
+distclean:
rm -f ecpg_config.h stamp-h
diff --git a/src/interfaces/ecpg/pgtypeslib/Makefile b/src/interfaces/ecpg/pgtypeslib/Makefile
index b0e154eb15f..e56700a12e0 100644
--- a/src/interfaces/ecpg/pgtypeslib/Makefile
+++ b/src/interfaces/ecpg/pgtypeslib/Makefile
@@ -50,5 +50,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
-
-maintainer-clean: distclean
diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile
index 77ae9ab722e..afd46cd17cf 100644
--- a/src/interfaces/ecpg/preproc/Makefile
+++ b/src/interfaces/ecpg/preproc/Makefile
@@ -81,8 +81,6 @@ ecpg_keywords.o: ecpg_kwlist_d.h
c_keywords.o: c_kwlist_d.h
keywords.o: $(top_srcdir)/src/include/parser/kwlist.h
-distprep: preproc.y preproc.c preproc.h pgc.c c_kwlist_d.h ecpg_kwlist_d.h
-
install: all installdirs
$(INSTALL_PROGRAM) ecpg$(X) '$(DESTDIR)$(bindir)'
@@ -92,11 +90,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/ecpg$(X)'
-# preproc.y, preproc.c, preproc.h, pgc.c, c_kwlist_d.h, and ecpg_kwlist_d.h
-# are in the distribution tarball, so they are not cleaned here.
clean distclean:
rm -f *.o ecpg$(X)
rm -f typename.c
-
-maintainer-clean: distclean
rm -f preproc.y preproc.c preproc.h pgc.c c_kwlist_d.h ecpg_kwlist_d.h
diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
index ba6ca837b35..be2418ba264 100644
--- a/src/interfaces/ecpg/test/Makefile
+++ b/src/interfaces/ecpg/test/Makefile
@@ -21,7 +21,7 @@ else
abs_builddir := $(shell sh -c "pwd -W")
endif
-all install installdirs uninstall distprep:
+all install installdirs uninstall:
$(MAKE) -C connect $@
$(MAKE) -C sql $@
$(MAKE) -C pgtypeslib $@
@@ -30,7 +30,7 @@ all install installdirs uninstall distprep:
$(MAKE) -C compat_oracle $@
$(MAKE) -C thread $@
-clean distclean maintainer-clean:
+clean distclean:
$(MAKE) -C connect $@
$(MAKE) -C sql $@
$(MAKE) -C pgtypeslib $@
diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile
index 46653682b03..d0a66cfaa0d 100644
--- a/src/interfaces/libpq/Makefile
+++ b/src/interfaces/libpq/Makefile
@@ -165,6 +165,3 @@ clean distclean: clean-lib
rm -f $(OBJS) pthread.h libpq-refs-stamp
# Might be left over from a Win32 client-only build
rm -f pg_config_paths.h
-
-maintainer-clean: distclean
- $(MAKE) -C test $@
diff --git a/src/interfaces/libpq/test/Makefile b/src/interfaces/libpq/test/Makefile
index 75ac08f943d..4e17ec15141 100644
--- a/src/interfaces/libpq/test/Makefile
+++ b/src/interfaces/libpq/test/Makefile
@@ -20,5 +20,5 @@ all: $(PROGS)
$(PROGS): $(WIN32RES)
-clean distclean maintainer-clean:
+clean distclean:
rm -f $(PROGS) *.o
diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk
index 7ba8d5bc980..0de3737e789 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -391,7 +391,7 @@ ifdef MODULE_big
clean: clean-lib
endif
-distclean maintainer-clean: clean
+distclean: clean
ifdef REGRESS
diff --git a/src/nls-global.mk b/src/nls-global.mk
index f21bd5ed555..dfff472cb3f 100644
--- a/src/nls-global.mk
+++ b/src/nls-global.mk
@@ -171,7 +171,7 @@ all: all-po
install: install-po
installdirs: installdirs-po
uninstall: uninstall-po
-clean distclean maintainer-clean: clean-po
+clean distclean: clean-po
.PHONY: all-po install-po installdirs-po uninstall-po clean-po \
init-po update-po
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index 51f8890d15d..975f540b3e0 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -127,7 +127,7 @@ installcheck: submake
submake:
$(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X)
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
rm -f SPI.c Util.c $(OBJS) perlchunks.h plperl_opmask.h
rm -rf $(pg_regress_clean_files)
ifeq ($(PORTNAME), win32)
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index f7eb42d54fc..dfb815212fb 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -104,14 +104,7 @@ submake:
$(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X)
-distprep: pl_gram.h pl_gram.c plerrcodes.h pl_reserved_kwlist_d.h pl_unreserved_kwlist_d.h
-
-# pl_gram.c, pl_gram.h, plerrcodes.h, pl_reserved_kwlist_d.h, and
-# pl_unreserved_kwlist_d.h are in the distribution tarball, so they
-# are not cleaned here.
clean distclean: clean-lib
rm -f $(OBJS)
rm -rf $(pg_regress_clean_files)
-
-maintainer-clean: distclean
rm -f pl_gram.c pl_gram.h plerrcodes.h pl_reserved_kwlist_d.h pl_unreserved_kwlist_d.h
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index 6b1865c2402..ef0a5905aed 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -142,6 +142,7 @@ clean distclean: clean-lib
ifeq ($(PORTNAME), win32)
rm -f python${pytverstr}.def
endif
+ rm -f spiexceptions.h
# Force this dependency to be known even without dependency info built:
@@ -149,8 +150,3 @@ plpy_plpymodule.o: spiexceptions.h
spiexceptions.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-spiexceptions.pl
$(PERL) $(srcdir)/generate-spiexceptions.pl $< > $@
-
-distprep: spiexceptions.h
-
-maintainer-clean: distclean
- rm -f spiexceptions.h
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index 314f9b2eec9..ea52a2efc22 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -63,8 +63,6 @@ pltcl.o: pltclerrcodes.h
pltclerrcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-pltclerrcodes.pl
$(PERL) $(srcdir)/generate-pltclerrcodes.pl $< > $@
-distprep: pltclerrcodes.h
-
install: all install-lib install-data
installdirs: installdirs-lib
@@ -91,13 +89,10 @@ installcheck: submake
submake:
$(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X)
-# pltclerrcodes.h is in the distribution tarball, so don't clean it here.
clean distclean: clean-lib
rm -f $(OBJS)
rm -rf $(pg_regress_clean_files)
ifeq ($(PORTNAME), win32)
rm -f $(tclwithver).def
endif
-
-maintainer-clean: distclean
rm -f pltclerrcodes.h
diff --git a/src/port/Makefile b/src/port/Makefile
index f205c2c9c50..4320dee0d16 100644
--- a/src/port/Makefile
+++ b/src/port/Makefile
@@ -154,6 +154,6 @@ pg_config_paths.h: $(top_builddir)/src/Makefile.global
echo "#define HTMLDIR \"$(htmldir)\"" >>$@
echo "#define MANDIR \"$(mandir)\"" >>$@
-clean distclean maintainer-clean:
+clean distclean:
rm -f libpgport.a libpgport_shlib.a libpgport_srv.a
rm -f $(OBJS) $(OBJS_SHLIB) $(OBJS_SRV) pg_config_paths.h
diff --git a/src/test/authentication/Makefile b/src/test/authentication/Makefile
index 46fa72052d9..a48ce39aaf9 100644
--- a/src/test/authentication/Makefile
+++ b/src/test/authentication/Makefile
@@ -19,5 +19,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/test/examples/Makefile b/src/test/examples/Makefile
index a67f4569048..e72d058e0c4 100644
--- a/src/test/examples/Makefile
+++ b/src/test/examples/Makefile
@@ -18,5 +18,5 @@ PROGS = testlibpq testlibpq2 testlibpq3 testlibpq4 testlo testlo64
all: $(PROGS)
-clean distclean maintainer-clean:
+clean distclean:
rm -f $(PROGS) *.o
diff --git a/src/test/icu/Makefile b/src/test/icu/Makefile
index 033b0d03ccb..c4fc8cdb8c1 100644
--- a/src/test/icu/Makefile
+++ b/src/test/icu/Makefile
@@ -21,5 +21,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile
index e99602ae526..ade2256ed3a 100644
--- a/src/test/isolation/Makefile
+++ b/src/test/isolation/Makefile
@@ -43,8 +43,6 @@ pg_isolation_regress$(X): isolation_main.o pg_regress.o $(WIN32RES)
isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport
$(CC) $(CFLAGS) $^ $(libpq_pgport) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
-distprep: specparse.c specscanner.c
-
# See notes in src/backend/parser/Makefile about the following two rules
specparse.h: specparse.c
touch $@
@@ -54,14 +52,10 @@ specparse.c: BISONFLAGS += -d
# Force these dependencies to be known even without dependency info built:
specparse.o specscanner.o: specparse.h
-# specparse.c and specscanner.c are in the distribution tarball,
-# so do not clean them here
clean distclean:
rm -f isolationtester$(X) pg_isolation_regress$(X) $(OBJS) isolation_main.o
rm -f pg_regress.o
rm -rf $(pg_regress_clean_files)
-
-maintainer-clean: distclean
rm -f specparse.h specparse.c specscanner.c
installcheck: all
diff --git a/src/test/kerberos/Makefile b/src/test/kerberos/Makefile
index f460d2c0e70..44da65611e1 100644
--- a/src/test/kerberos/Makefile
+++ b/src/test/kerberos/Makefile
@@ -24,5 +24,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/test/ldap/Makefile b/src/test/ldap/Makefile
index 73bc878ea8e..d4305ed5eb2 100644
--- a/src/test/ldap/Makefile
+++ b/src/test/ldap/Makefile
@@ -21,5 +21,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/test/locale/Makefile b/src/test/locale/Makefile
index 7ba096b5427..a40c67af07f 100644
--- a/src/test/locale/Makefile
+++ b/src/test/locale/Makefile
@@ -10,7 +10,7 @@ DIRS = de_DE.ISO8859-1 gr_GR.ISO8859-7 koi8-r koi8-to-win1251
all: $(PROGS)
-clean distclean maintainer-clean:
+clean distclean:
rm -f $(PROGS) *.o
rm -rf tmp_check
for d in $(DIRS); do \
diff --git a/src/test/recovery/Makefile b/src/test/recovery/Makefile
index c60314d1955..49f1d1c118e 100644
--- a/src/test/recovery/Makefile
+++ b/src/test/recovery/Makefile
@@ -25,5 +25,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index bbab45f9b87..520fa9d2056 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -146,7 +146,7 @@ bigcheck: all | temp-install
## Clean up
##
-clean distclean maintainer-clean: clean-lib
+clean distclean: clean-lib
# things built by `all' target
rm -f $(OBJS) refint$(DLSUFFIX) autoinc$(DLSUFFIX)
rm -f pg_regress_main.o pg_regress.o pg_regress$(X)
diff --git a/src/test/ssl/Makefile b/src/test/ssl/Makefile
index af1e06e9490..2d7c69068f4 100644
--- a/src/test/ssl/Makefile
+++ b/src/test/ssl/Makefile
@@ -23,7 +23,7 @@ export OPENSSL with_ssl
sslfiles sslfiles-clean:
$(MAKE) -f $(srcdir)/sslfiles.mk $@
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
$(MAKE) -f $(srcdir)/sslfiles.mk $@
diff --git a/src/test/ssl/sslfiles.mk b/src/test/ssl/sslfiles.mk
index 569f1731cd1..89ba2d193b5 100644
--- a/src/test/ssl/sslfiles.mk
+++ b/src/test/ssl/sslfiles.mk
@@ -269,6 +269,6 @@ sslfiles-clean:
# clean targets will be run during a "standard" recursive clean run from the
# main build tree. The sslfiles-clean target must be run explicitly from this
# directory.
-.PHONY: clean distclean maintainer-clean
-clean distclean maintainer-clean:
+.PHONY: clean distclean
+clean distclean:
rm -rf ssl/*.old ssl/new_certs_dir ssl/client*_tmp.key
diff --git a/src/test/subscription/Makefile b/src/test/subscription/Makefile
index 99d1fe012d8..36475ffabc8 100644
--- a/src/test/subscription/Makefile
+++ b/src/test/subscription/Makefile
@@ -23,5 +23,5 @@ check:
installcheck:
$(prove_installcheck)
-clean distclean maintainer-clean:
+clean distclean:
rm -rf tmp_check
diff --git a/src/timezone/Makefile b/src/timezone/Makefile
index fbbaae4cc57..c85e831247a 100644
--- a/src/timezone/Makefile
+++ b/src/timezone/Makefile
@@ -75,5 +75,5 @@ ifeq (,$(with_system_tzdata))
endif
$(MAKE) -C tznames $@
-clean distclean maintainer-clean:
+clean distclean:
rm -f zic$(X) $(ZICOBJS) abbrevs.txt
diff --git a/src/tools/ifaddrs/Makefile b/src/tools/ifaddrs/Makefile
index e74d7547698..ef5e8f0e0ea 100644
--- a/src/tools/ifaddrs/Makefile
+++ b/src/tools/ifaddrs/Makefile
@@ -24,5 +24,5 @@ all: test_ifaddrs
test_ifaddrs: test_ifaddrs.o $(libpq_backend_dir)/ifaddr.o
$(CC) $(CFLAGS) test_ifaddrs.o $(libpq_backend_dir)/ifaddr.o $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
-clean distclean maintainer-clean:
+clean distclean:
rm -f test_ifaddrs$(X) $(OBJS)
diff --git a/src/tools/pg_bsd_indent/Makefile b/src/tools/pg_bsd_indent/Makefile
index d176ceb326e..ce5d815f07a 100644
--- a/src/tools/pg_bsd_indent/Makefile
+++ b/src/tools/pg_bsd_indent/Makefile
@@ -39,7 +39,7 @@ installdirs:
uninstall:
rm -f '$(DESTDIR)$(bindir)/pg_bsd_indent$(X)'
-clean distclean maintainer-clean:
+clean distclean:
rm -f pg_bsd_indent$(X) $(OBJS)
rm -rf log/ tmp_check/