Add makefile to warn about not using gmake.

This commit is contained in:
Bruce Momjian 2000-06-12 03:54:03 +00:00
parent 3357e1d29e
commit 36c926875a
2 changed files with 30 additions and 34 deletions

View File

@ -1,36 +1,16 @@
# The PostgreSQL make files exploit features of GNU make that other # The Postgres make files exploit features of GNU make that other makes
# makes do not have. Because it is a common mistake for users to try # do not have. Because it is a common mistake for users to try to build
# to build Postgres with a different make, we have this make file # Postgres with a different make, we have this make file that does nothing
# that, as a service, will look for a GNU make and invoke it, or show # but tell the user to use GNU make.
# an error message if none could be found.
# If the user were using GNU make now, this file would not get used # If the user were using GNU make now, this file would not get used because
# because GNU make uses a make file named "GNUmakefile" in preference # GNU make uses a make file named "GNUmakefile" in preference to "Makefile"
# to "Makefile" if it exists. PostgreSQL is shipped with a # if it exists. Postgres is shipped with a "GNUmakefile".
# "GNUmakefile". If the user hasn't run the configure script yet, the
# GNUmakefile won't exist yet, so we catch that case as well.
all install clean dep depend distclean:
all install clean dep depend distclean maintainer-clean: @echo "You must use GNU make to use Postgres. It may be installed"
@if ! [ -f GNUmakefile ] ; then \ @echo "on your system with the name 'gmake'."
echo "You need to run the \`configure' program first. See the file"; \ @echo
echo "\`INSTALL' for installation instructions." ; \ @echo "NOTE: If you are sure that you are using GNU make and you are"
false ; \ @echo " still getting this message, you may simply need to run"
fi @echo " the configure program."
@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

16
src/Makefile Normal file
View File

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