Added FreeBSD checks to stop people from using the default 'make'
[privoxy.git] / Makefile
1 # $Id: Makefile,v 1.8 2002/10/23 05:41:45 agotneja Exp $
2 #
3 # Written by and Copyright (C) 2001 the SourceForge
4 # Privoxy team. http://www.privoxy.org/
5 #
6 # Based on the Internet Junkbuster originally written
7 # by and Copyright (C) 1997 Anonymous Coders and 
8 # Junkbusters Corporation.  http://www.junkbusters.com
9 #
10 # This program is free software; you can redistribute it 
11 # and/or modify it under the terms of the GNU General
12 # Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at
14 # your option) any later version.
15 #
16 # This program is distributed in the hope that it will
17 # be useful, but WITHOUT ANY WARRANTY; without even the
18 # implied warranty of MERCHANTABILITY or FITNESS FOR A
19 # PARTICULAR PURPOSE.  See the GNU General Public
20 # License for more details.
21 #
22 # The GNU General Public License should be included with
23 # this file.  If not, you can view it at
24 # http://www.gnu.org/copyleft/gpl.html
25 # or write to the Free Software Foundation, Inc., 59
26 # Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27 #
28 # $Log: Makefile,v $
29 # Revision 1.8  2002/10/23 05:41:45  agotneja
30 # Added checks for Solaris 'make' command, and more extensive checks that
31 # the user is running GNU make.
32 #
33 # Revision 1.7  2002/10/22 02:22:18  hal9
34 # Look for gmake first, and fall back to make. More Solaris trouble.
35 #
36 # Revision 1.6  2002/09/05 14:35:17  oes
37 # Change make to gmake to fix auto-build on Solaris
38 #
39 # Revision 1.5  2002/04/11 12:51:34  oes
40 # Bugfix
41 #
42 # Revision 1.4  2002/04/09 16:38:10  oes
43 # Added option to run the whole build process
44 #
45 # Revision 1.3  2002/03/26 22:29:54  swa
46 # we have a new homepage!
47 #
48 # Revision 1.2  2002/03/24 13:25:42  swa
49 # name change related issues
50 #
51 # Revision 1.1  2001/12/01 11:24:29  jongfoster
52 # Will display a warning if non-GNU make is used
53 #
54 #
55
56 #############################################################################
57
58 # This script will first try to use the GNU make command, then the standard
59 # make command, checking whether the command returns 'GNU' as part of its
60 # version string. Amend this to point to your GNU make command if it is
61 # not in your path.
62 # Further tests; 
63 #   GNU  'make' sets the MAKE_VERSION variable
64 #   Solaris 'make' sets the HOST_ARCH variable
65 #   FreeBSD 'make' sets the MACHINE_ARCH variable
66 # We check if this isn't GNU but matches one of the above we error out
67
68 GNU_MAKE_CMD = gmake
69 MAKE_CMD     = make
70
71 error:
72         @if [ -f GNUmakefile ]; then \
73             echo "***"; \
74             echo "*** You are not using the GNU version of Make - maybe it's called gmake"; \
75             echo "*** or it's in a different directory?"; \
76             echo "***"; \
77             exit 1; \
78          elif test -n "$(HOST_ARCH)"  && test -z "$(MAKE_VERSION)" ; then \
79             echo "***"; \
80             echo "*** You are not using GNU Make on Solaris, please make sure you do" ; \
81             echo "*** and re-run 'make' "; \
82             echo "***"; \
83             exit 1 ; \
84          elif test -n "$(MACHINE_ARCH)"  && test -z "$(MAKE_VERSION)" ; then \
85             echo "***"; \
86             echo "*** You are not using GNU Make on FreeBSD, please make sure you do" ; \
87             echo "*** and re-run 'make' "; \
88             echo "***"; \
89             exit 1 ; \
90          else \
91             echo "***"; \
92             echo "*** To build this program, you must run"; \
93             echo "*** autoheader && autoconf && ./configure and then run GNU make."; \
94             echo "***"; \
95             echo -n "*** Shall I do this for you now? (y/n) "; \
96             read answer; \
97             if [ $$answer = "y" ]; then \
98                 autoheader && autoconf && ./configure || exit 1; \
99                 if $(GNU_MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
100                    $(GNU_MAKE_CMD) ;\
101                 elif $(MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
102                    $(MAKE_CMD) ;\
103                 else \
104                    echo "Neither 'make' nor 'gmake' are GNU compatible!" ; \
105                    exit 1 ; \
106                 fi ;\
107             fi; \
108          fi
109
110 .PHONY: error
111
112
113 #############################################################################
114
115 ## Local Variables:
116 ## tab-width: 3
117 ## end: