C comment: mention why no setting lasterrno in dir_existsfile()
[pgsql.git] / Makefile
blobc66fb3027b8ddb00fb779af1f4f9f6c9afc8f045
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 # AIX make defaults to building *every* target of the first rule. Start with
15 # a single-target, empty rule to make the other targets non-default.
16 all:
18 all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
19 @if [ ! -f GNUmakefile ] ; then \
20 if [ -f INSTALL ] ; then \
21 INSTRUCTIONS="INSTALL"; \
22 else \
23 INSTRUCTIONS="README.git"; \
24 fi; \
25 echo "You need to run the 'configure' program first. See the file"; \
26 echo "'$$INSTRUCTIONS' for installation instructions, or visit: " ; \
27 echo "<https://www.postgresql.org/docs/devel/installation.html>" ; \
28 false ; \
30 @IFS=':' ; \
31 for dir in $$PATH; do \
32 for prog in gmake gnumake make; do \
33 if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
34 GMAKE=$$dir/$$prog; \
35 break 2; \
36 fi; \
37 done; \
38 done; \
40 if [ x"$${GMAKE+set}" = xset ]; then \
41 echo "Using GNU make found at $${GMAKE}"; \
42 unset MAKELEVEL; \
43 $${GMAKE} $@ ; \
44 else \
45 echo "You must use GNU make to build PostgreSQL." ; \
46 false; \