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
|
# 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
16
src/Makefile
Normal 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."
|
Loading…
Reference in New Issue
Block a user