From e2da92f1c350e3c0c038a3f214b6bbeb441bfab8 Mon Sep 17 00:00:00 2001
From: Bryan Henderson <bryanh@giraffe.netgate.net>
Date: Tue, 31 Dec 1996 07:26:27 +0000
Subject: [PATCH] Rename Makefile to GNUmakefile to catch people using other
 makes.

---
 src/GNUmakefile | 62 ++++++++++++++++++++++++++++++++++++++
 src/Makefile    | 80 ++++++++-----------------------------------------
 2 files changed, 74 insertions(+), 68 deletions(-)
 create mode 100644 src/GNUmakefile

diff --git a/src/GNUmakefile b/src/GNUmakefile
new file mode 100644
index 00000000000..8f655dd1383
--- /dev/null
+++ b/src/GNUmakefile
@@ -0,0 +1,62 @@
+#-------------------------------------------------------------------------
+#
+# Makefile.inc--
+#    Build and install postgres.
+#
+# Copyright (c) 1994, Regents of the University of California
+#
+# IDENTIFICATION
+#    $Header: /cvsroot/pgsql/src/Attic/GNUmakefile,v 1.1 1996/12/31 07:26:26 bryanh Exp $
+#
+#-------------------------------------------------------------------------
+
+SRCDIR= .
+include Makefile.global
+
+FIND = find
+# assuming gnu tar and split here
+TAR  = tar
+SPLIT = split
+
+ETAGS = etags
+XARGS = xargs
+
+.DEFAULT all:
+	@if test $(PORTNAME) = UNDEFINED; then \
+	  echo You must set the PORTNAME value in Makefile.global before \
+	       you can build Postgres. ;\
+	  false ;\
+	fi
+	$(MAKE) -C utils $@
+	$(MAKE) -C backend $@
+	$(MAKE) -C libpq $@
+ifeq ($(HAVE_Cplusplus), true)
+	$(MAKE) -C libpq++ $@
+endif
+ifeq ($(USE_TCL), true)
+	$(MAKE) -C libpgtcl $@
+endif
+	$(MAKE) -C bin $@
+ifneq ($(wildcard man), )
+	$(MAKE) -C man $@
+endif
+	@if test $@. = all. -o $@. = .; then \
+	echo All of Postgres95 is successfully made.  Ready to install. ;\
+        fi
+
+TAGS:
+	rm -f TAGS; \
+	for i in backend libpq bin; do \
+	  $(FIND) $$i -name '*.[chyl]' -print | $(XARGS) $(ETAGS) -a ; \
+	done
+
+# target to generate a backup tar file and split files that can be 
+# saved to 1.44M floppy
+BACKUP:
+	rm -f BACKUP.filelist BACKUP.tgz; \
+	$(FIND) . -not -path '*obj/*' -not -path '*data/*' -type f -print > BACKUP.filelist; \
+	$(TAR) --files-from BACKUP.filelist -c -z -v -f BACKUP.tgz
+	$(SPLIT) --bytes=1400k BACKUP.tgz pgBACKUP.	
+
+.PHONY: TAGS
+.PHONY: BACKUP
diff --git a/src/Makefile b/src/Makefile
index 37bb210d80c..fbb3148861d 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,68 +1,12 @@
-#-------------------------------------------------------------------------
-#
-# Makefile.inc--
-#    Build and install postgres.
-#
-# Copyright (c) 1994, Regents of the University of California
-#
-# IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile,v 1.14 1996/12/19 08:03:46 bryanh Exp $
-#
-#-------------------------------------------------------------------------
-
-SRCDIR= .
-include Makefile.global
-
-FIND = find
-# assuming gnu tar and split here
-TAR  = tar
-SPLIT = split
-
-ETAGS = etags
-XARGS = xargs
-
-.DEFAULT all:
-	@set - `$(MAKE) -v -f /dev/null 2>&1`.; \
-	if test $$1 != GNU; then \
-	  echo "This Makefile requires GNU make."; \
-	  echo "Please read the file INSTALL in this directory for details."; \
-	  false ; \
-	fi
-	@if test $(PORTNAME) = UNDEFINED; then \
-	  echo You must set the PORTNAME value in Makefile.global before \
-	       you can build Postgres. ;\
-	  false ;\
-	fi
-	$(MAKE) -C utils $@
-	$(MAKE) -C backend $@
-	$(MAKE) -C libpq $@
-ifeq ($(HAVE_Cplusplus), true)
-	$(MAKE) -C libpq++ $@
-endif
-ifeq ($(USE_TCL), true)
-	$(MAKE) -C libpgtcl $@
-endif
-	$(MAKE) -C bin $@
-ifneq ($(wildcard man), )
-	$(MAKE) -C man $@
-endif
-	@if test $@. = all. -o $@. = .; then \
-	echo All of Postgres95 is successfully made.  Ready to install. ;\
-        fi
-
-TAGS:
-	rm -f TAGS; \
-	for i in backend libpq bin; do \
-	  $(FIND) $$i -name '*.[chyl]' -print | $(XARGS) $(ETAGS) -a ; \
-	done
-
-# target to generate a backup tar file and split files that can be 
-# saved to 1.44M floppy
-BACKUP:
-	rm -f BACKUP.filelist BACKUP.tgz; \
-	$(FIND) . -not -path '*obj/*' -not -path '*data/*' -type f -print > BACKUP.filelist; \
-	$(TAR) --files-from BACKUP.filelist -c -z -v -f BACKUP.tgz
-	$(SPLIT) --bytes=1400k BACKUP.tgz pgBACKUP.	
-
-.PHONY: TAGS
-.PHONY: BACKUP
+# 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:
+	@echo "You must use GNU make to use Postgres.  It may be installed"
+	@echo "on your system with the name 'gmake'."
-- 
GitLab