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.
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.
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." ; \
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 \
30 if [ x"$${GMAKE+set}" = xset ]; then \
31 echo "Using GNU make found at $${GMAKE}"; \
34 echo "You must use GNU make to build PostgreSQL." ; \