summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile41
1 files changed, 41 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..99dcfff
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,41 @@
+# 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.
+
+# 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.
+
+
+# AIX make defaults to building *every* target of the first rule. Start with
+# a single-target, empty rule to make the other targets non-default.
+all:
+
+all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
+ @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 -f /dev/null --version 2>/dev/null | 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}"; \
+ unset MAKELEVEL; \
+ $${GMAKE} $@ ; \
+ else \
+ echo "You must use GNU make to build PostgreSQL." ; \
+ false; \
+ fi