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
This commit is contained in:
Peter Eisentraut 2023-11-06 14:51:52 +01:00
parent b72de09a1b
commit 721856ff24
89 changed files with 175 additions and 416 deletions

View File

@ -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

View File

@ -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

View File

@ -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`

62
configure vendored
View File

@ -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:
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." >&5
$as_echo "$as_me: 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." >&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:
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." >&5
$as_echo "$as_me: 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." >&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:
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." >&5
$as_echo "$as_me: 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." >&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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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

View File

@ -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.
@ -102,6 +101,41 @@ documentation. See standalone-profile.xsl for details.
</para>
</listitem>
<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>
@ -315,51 +349,6 @@ documentation. See standalone-profile.xsl for details.
</itemizedlist>
</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

View File

@ -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>

View File

@ -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

View File

@ -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 $@

View File

@ -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:

View File

@ -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
##########################################################################
#

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -43,6 +43,6 @@ else
$(CC) $(CFLAGS) -c $<
endif
distclean clean:
clean:
rm -f tas_cpp.s
$(MAKE) -C win32 clean

View File

@ -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

View File

@ -33,5 +33,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
clean distclean maintainer-clean: clean-lib
clean distclean: clean-lib
rm -f $(OBJS)

View File

@ -28,5 +28,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
clean distclean maintainer-clean: clean-lib
clean distclean: clean-lib
rm -f $(OBJS)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -21,5 +21,5 @@ OBJS = \
include $(top_srcdir)/src/backend/common.mk
clean distclean maintainer-clean:
clean distclean:
$(MAKE) -C conversion_procs $@

View File

@ -66,8 +66,6 @@ all: $(MAPS)
distclean: clean
rm -f $(TEXTS)
maintainer-clean: distclean
rm -f $(MAPS)

View File

@ -13,5 +13,5 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
clean distclean maintainer-clean: clean-lib
clean distclean: clean-lib
rm -f $(OBJS)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -55,5 +55,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
maintainer-clean: distclean

View File

@ -66,5 +66,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
maintainer-clean: distclean

View File

@ -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

View File

@ -50,5 +50,3 @@ uninstall: uninstall-lib
clean distclean: clean-lib
rm -f $(OBJS)
maintainer-clean: distclean

View File

@ -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

View File

@ -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 $@

View File

@ -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 $@

View File

@ -20,5 +20,5 @@ all: $(PROGS)
$(PROGS): $(WIN32RES)
clean distclean maintainer-clean:
clean distclean:
rm -f $(PROGS) *.o

View File

@ -391,7 +391,7 @@ ifdef MODULE_big
clean: clean-lib
endif
distclean maintainer-clean: clean
distclean: clean
ifdef REGRESS

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -19,5 +19,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -18,5 +18,5 @@ PROGS = testlibpq testlibpq2 testlibpq3 testlibpq4 testlo testlo64
all: $(PROGS)
clean distclean maintainer-clean:
clean distclean:
rm -f $(PROGS) *.o

View File

@ -21,5 +21,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -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

View File

@ -24,5 +24,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -21,5 +21,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -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 \

View File

@ -25,5 +25,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -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)

View File

@ -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 $@

View File

@ -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

View File

@ -23,5 +23,5 @@ check:
installcheck:
$(prove_installcheck)
clean distclean maintainer-clean:
clean distclean:
rm -rf tmp_check

View File

@ -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

View File

@ -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)

View File

@ -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/