From e423e8d5c526efd31970d39eae6199e1cea3ae75 Mon Sep 17 00:00:00 2001 From: agotneja Date: Wed, 23 Oct 2002 05:41:45 +0000 Subject: [PATCH] Added checks for Solaris 'make' command, and more extensive checks that the user is running GNU make. --- Makefile | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 0fd80d51..1618ef5d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.6 2002/09/05 14:35:17 oes Exp $ +# $Id: Makefile,v 1.7 2002/10/22 02:22:18 hal9 Exp $ # # Written by and Copyright (C) 2001 the SourceForge # Privoxy team. http://www.privoxy.org/ @@ -26,6 +26,9 @@ # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # $Log: Makefile,v $ +# Revision 1.7 2002/10/22 02:22:18 hal9 +# Look for gmake first, and fall back to make. More Solaris trouble. +# # Revision 1.6 2002/09/05 14:35:17 oes # Change make to gmake to fix auto-build on Solaris # @@ -48,6 +51,18 @@ ############################################################################# +# This script will first try to use the GNU make command, then the standard +# make command, checking whether the command returns 'GNU' as part of its +# version string. Amend this to point to your GNU make command if it is +# not in your path. +# Further tests; Solaris 'make' sets the HOST_ARCH variable, GNU 'make' +# sets the MAKE_VERSION variable, so a test is made that the former is +# non-zero and the latter is zero, if so we bail out with an error message. + + +GNU_MAKE_CMD = gmake +MAKE_CMD = make + error: @if [ -f GNUmakefile ]; then \ echo "***"; \ @@ -55,6 +70,12 @@ error: echo "*** or it's in a different directory?"; \ echo "***"; \ exit 1; \ + elif test -n "$(HOST_ARCH)" && test -z "$(MAKE_VERSION)" ; then \ + echo "***"; \ + echo "*** You are not using GNU Make on Solaris, please make sure you do" ; \ + echo "*** and re-run 'make' "; \ + echo "***"; \ + exit 1 ; \ else \ echo "***"; \ echo "*** To build this program, you must run"; \ @@ -63,17 +84,21 @@ error: echo -n "*** Shall I do this for you now? (y/n) "; \ read answer; \ if [ $$answer = "y" ]; then \ - autoheader && autoconf && ./configure || exit 1; \ - if which gmake >/dev/null 2>/dev/null ; then \ - gmake ;\ - else \ - make ;\ - fi ;\ + autoheader && autoconf && ./configure || exit 1; \ + if $(GNU_MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \ + $(GNU_MAKE_CMD) ;\ + elif $(MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \ + $(MAKE_CMD) ;\ + else \ + echo "Neither 'make' nor 'gmake' are GNU compatible!" ; \ + exit 1 ; \ + fi ;\ fi; \ fi .PHONY: error + ############################################################################# ## Local Variables: -- 2.39.2