Skip to content
Snippets Groups Projects
Commit 36c92687 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Add makefile to warn about not using gmake.

parent 3357e1d2
No related branches found
No related tags found
No related merge requests found
# 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
# 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."
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment