mirror of https://github.com/postgres/postgres
Add makefile to warn about not using gmake.
This commit is contained in:
parent
3357e1d29e
commit
36c926875a
48
Makefile
48
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."
|
||||
|
|
|
@ -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."
|
Loading…
Reference in New Issue