make: fail if make version < 3.80
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Fri, 3 Apr 2009 11:06:57 +0000 (11:06 +0000)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Fri, 3 Apr 2009 11:06:57 +0000 (11:06 +0000)
INSTALL
Makefile

diff --git a/INSTALL b/INSTALL
index 0da2303..eca400b 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -53,7 +53,7 @@ Requirements:
 - bison or yacc (Berkley yacc)
 - flex
 - GNU make (on Linux this is the standard "make", on *BSD and Solaris is
- called "gmake") version >= 3.80.
+ called "gmake") version >= 3.80 (recommended 3.81).
 - sed and tr (used in the makefiles)
 - GNU tar ("gtar" on Solaris) and gzip if you want "make tar" to work
 - GNU install, BSD install or Solaris install if you want "make
index 4c75fe0..fd3a20e 100644 (file)
--- a/Makefile
+++ b/Makefile
 #               $(MAKE) invocation (andrei)
 #
 
+# check make version
+# required 3.80, recommended 3.81
+req_ver=3.80
+# the check below works for version number of the type x.yy or x.yy.z*
+# (from the GNU Make Cookbook)
+ifeq (,$(filter $(req_ver),$(firstword $(sort $(MAKE_VERSION) $(req_ver)))))
+$(error make version $(MAKE_VERSION) not supported, use at least $(req_ver))
+endif
+
+
 auto_gen=lex.yy.c cfg.tab.c #lexx, yacc etc
 auto_gen_others=cfg.tab.h  # auto generated, non-c