Skip to content

Commit 36c9268

Browse files
committed
Add makefile to warn about not using gmake.
1 parent 3357e1d commit 36c9268

File tree

2 files changed

+30
-34
lines changed

2 files changed

+30
-34
lines changed

Makefile

Lines changed: 14 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,16 @@
1-
# The PostgreSQL make files exploit features of GNU make that other
2-
# makes do not have. Because it is a common mistake for users to try
3-
# to build Postgres with a different make, we have this make file
4-
# that, as a service, will look for a GNU make and invoke it, or show
5-
# an error message if none could be found.
1+
# The Postgres make files exploit features of GNU make that other makes
2+
# do not have. Because it is a common mistake for users to try to build
3+
# Postgres with a different make, we have this make file that does nothing
4+
# but tell the user to use GNU make.
65

7-
# If the user were using GNU make now, this file would not get used
8-
# because GNU make uses a make file named "GNUmakefile" in preference
9-
# to "Makefile" if it exists. PostgreSQL is shipped with a
10-
# "GNUmakefile". If the user hasn't run the configure script yet, the
11-
# GNUmakefile won't exist yet, so we catch that case as well.
6+
# If the user were using GNU make now, this file would not get used because
7+
# GNU make uses a make file named "GNUmakefile" in preference to "Makefile"
8+
# if it exists. Postgres is shipped with a "GNUmakefile".
129

13-
14-
all install clean dep depend distclean maintainer-clean:
15-
@if ! [ -f GNUmakefile ] ; then \
16-
echo "You need to run the \`configure' program first. See the file"; \
17-
echo "\`INSTALL' for installation instructions." ; \
18-
false ; \
19-
fi
20-
@IFS=':' ; \
21-
for dir in $$PATH; do \
22-
for prog in gmake gnumake make; do \
23-
if [ -f $$dir/$$prog ] && ( $$dir/$$prog --version | grep GNU >/dev/null 2>&1 ) ; then \
24-
GMAKE=$$dir/$$prog; \
25-
break 2; \
26-
fi; \
27-
done; \
28-
done; \
29-
\
30-
if [ x"$${GMAKE+set}" = xset ]; then \
31-
echo "Using GNU make found at $${GMAKE}"; \
32-
$${GMAKE} $@ ; \
33-
else \
34-
echo "You must use GNU make to build PostgreSQL." ; \
35-
false; \
36-
fi
10+
all install clean dep depend distclean:
11+
@echo "You must use GNU make to use Postgres. It may be installed"
12+
@echo "on your system with the name 'gmake'."
13+
@echo
14+
@echo "NOTE: If you are sure that you are using GNU make and you are"
15+
@echo " still getting this message, you may simply need to run"
16+
@echo " the configure program."

src/Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# The Postgres make files exploit features of GNU make that other makes
2+
# do not have. Because it is a common mistake for users to try to build
3+
# Postgres with a different make, we have this make file that does nothing
4+
# but tell the user to use GNU make.
5+
6+
# If the user were using GNU make now, this file would not get used because
7+
# GNU make uses a make file named "GNUmakefile" in preference to "Makefile"
8+
# if it exists. Postgres is shipped with a "GNUmakefile".
9+
10+
all install clean dep depend distclean:
11+
@echo "You must use GNU make to use Postgres. It may be installed"
12+
@echo "on your system with the name 'gmake'."
13+
@echo
14+
@echo "NOTE: If you are sure that you are using GNU make and you are"
15+
@echo " still getting this message, you may simply need to run"
16+
@echo " the configure program."

0 commit comments

Comments
 (0)