From 36c926875aeaf13490672cc91b2e328735fb3812 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 12 Jun 2000 03:54:03 +0000 Subject: [PATCH] Add makefile to warn about not using gmake. --- Makefile | 48 ++++++++++++++---------------------------------- src/Makefile | 16 ++++++++++++++++ 2 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 src/Makefile diff --git a/Makefile b/Makefile index c5eca7a9d2..8fbbcbdac2 100644 --- a/Makefile +++ b/Makefile @@ -1,36 +1,16 @@ -# The PostgreSQL make files exploit features of GNU make that other -# makes do not have. Because it is a common mistake for users to try -# to build Postgres with a different make, we have this make file -# that, as a service, will look for a GNU make and invoke it, or show -# an error message if none could be found. +# The Postgres make files exploit features of GNU make that other makes +# do not have. Because it is a common mistake for users to try to build +# Postgres with a different make, we have this make file that does nothing +# but tell the user to use GNU make. -# If the user were using GNU make now, this file would not get used -# because GNU make uses a make file named "GNUmakefile" in preference -# to "Makefile" if it exists. PostgreSQL is shipped with a -# "GNUmakefile". If the user hasn't run the configure script yet, the -# GNUmakefile won't exist yet, so we catch that case as well. +# If the user were using GNU make now, this file would not get used because +# GNU make uses a make file named "GNUmakefile" in preference to "Makefile" +# if it exists. Postgres is shipped with a "GNUmakefile". - -all install clean dep depend distclean maintainer-clean: - @if ! [ -f GNUmakefile ] ; then \ - echo "You need to run the \`configure' program first. See the file"; \ - echo "\`INSTALL' for installation instructions." ; \ - false ; \ - fi - @IFS=':' ; \ - for dir in $$PATH; do \ - for prog in gmake gnumake make; do \ - if [ -f $$dir/$$prog ] && ( $$dir/$$prog --version | grep GNU >/dev/null 2>&1 ) ; then \ - GMAKE=$$dir/$$prog; \ - break 2; \ - fi; \ - done; \ - done; \ - \ - if [ x"$${GMAKE+set}" = xset ]; then \ - echo "Using GNU make found at $${GMAKE}"; \ - $${GMAKE} $@ ; \ - else \ - echo "You must use GNU make to build PostgreSQL." ; \ - false; \ - fi +all install clean dep depend distclean: + @echo "You must use GNU make to use Postgres. It may be installed" + @echo "on your system with the name 'gmake'." + @echo + @echo "NOTE: If you are sure that you are using GNU make and you are" + @echo " still getting this message, you may simply need to run" + @echo " the configure program." diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000000..8fbbcbdac2 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,16 @@ +# The Postgres make files exploit features of GNU make that other makes +# do not have. Because it is a common mistake for users to try to build +# Postgres with a different make, we have this make file that does nothing +# but tell the user to use GNU make. + +# If the user were using GNU make now, this file would not get used because +# GNU make uses a make file named "GNUmakefile" in preference to "Makefile" +# if it exists. Postgres is shipped with a "GNUmakefile". + +all install clean dep depend distclean: + @echo "You must use GNU make to use Postgres. It may be installed" + @echo "on your system with the name 'gmake'." + @echo + @echo "NOTE: If you are sure that you are using GNU make and you are" + @echo " still getting this message, you may simply need to run" + @echo " the configure program."