diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 32e0d3fd9d..70d188e2bc 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -77,7 +77,7 @@ su - postgres make - GNU make version 3.80 or newer is required; other + GNU make version 3.81 or newer is required; other make programs or older GNU make versions will not work. (GNU make is sometimes installed under the name gmake.) To test for GNU diff --git a/src/Makefile.global.in b/src/Makefile.global.in index bb177a8162..14fdd4ef7b 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -635,7 +635,6 @@ submake-libpgfeutils: | submake-generated-headers ifneq ($(USE_MODULE_DB),) PL_TESTDB = pl_regression_$(NAME) - # Replace this with $(or ...) if we ever require GNU make 3.81. ifneq ($(MODULE_big),) CONTRIB_TESTDB=contrib_regression_$(MODULE_big) ISOLATION_TESTDB=isolation_regression_$(MODULE_big) @@ -872,11 +871,11 @@ install-strip: # allows parallel make across directories and lets make -k and -q work # correctly. -# We need the $(eval) function and order-only prerequisites, which are -# available in GNU make 3.80. That also happens to be the version -# where the .VARIABLES variable was introduced, so this is a simple check. -ifndef .VARIABLES -$(error GNU make 3.80 or newer is required. You are using version $(MAKE_VERSION)) +# We need the ability to export target-specific variables, which was +# added in GNU make 3.81. That also happens to be the version +# where the .FEATURES variable was introduced, so this is a simple check. +ifndef .FEATURES +$(error GNU make 3.81 or newer is required. You are using version $(MAKE_VERSION)) endif # This function is only for internal use below. It should be called @@ -884,7 +883,7 @@ endif # given subdirectory. For the tree-wide all/install/check/installcheck cases, # ensure we do our one-time tasks before recursing (see targets above). # Note that to avoid a nasty bug in make 3.80, -# this function has to avoid using any complicated constructs (like +# this function was written to not use any complicated constructs (like # multiple targets on a line) and also not contain any lines that expand # to more than about 200 bytes. This is why we make it apply to just one # subdirectory at a time, rather than to a list of subdirectories.