much better check for gnu make 3.80+
this check was borrowed from the GMSL project - which is GPL.
I gave - I think - ample notice where the code came from.
If someone thinks it needs more - please let me know
Modified: trunk/reactos/Makefile
_____
Modified: trunk/reactos/Makefile
--- trunk/reactos/Makefile 2005-11-26 03:37:37 UTC (rev 19607)
+++ trunk/reactos/Makefile 2005-11-26 03:49:20 UTC (rev 19608)
@@ -107,9 +107,19 @@
# -ps Generate proxy makefiles in source tree
instead of the output tree.
# check for versions of make that don't have features we need...
-ifneq ($(filter 3.7%, $(shell $(MAKE) -v)),)
-$(error GNU Make $(filter 3.7%, $(shell $(MAKE) -v)) WILL NOT WORK -
UPGRADE TO 3.80+)
+# the function "eval" is only available in 3.80+, which happens to be
the minimum
+# version that has the features we use...
+# THIS CHECK IS BORROWED FROM THE "GMSL" PROJECT, AND IS COVERED BY THE
GPL LICENSE
+# YOU CAN FIND OUT MORE ABOUT GMSL - A VERY COOL PROJECT - AT:
+# http://gmsl.sourceforge.net/
+
+__gmsl_have_eval :=
+__gmsl_ignore := $(eval __gmsl_have_eval := T)
+
+ifndef __gmsl_have_eval
+$(error ReactOS's makefiles use GNU Make 3.80+ features, you have
$(MAKE_VERSION), you MUST UPGRADE in order to build ReactOS - Sorry)
endif
+# END of code borrowed from GMSL ( http://gmsl.sourceforge.net/ )
.PHONY: all
.PHONY: clean
gnu make 3.7x will not work - give users an early and clear error
message stating as much
Modified: trunk/reactos/Makefile
_____
Modified: trunk/reactos/Makefile
--- trunk/reactos/Makefile 2005-11-26 03:33:07 UTC (rev 19606)
+++ trunk/reactos/Makefile 2005-11-26 03:37:37 UTC (rev 19607)
@@ -106,6 +106,11 @@
# -mi Let make handle creation of install
directories. Rbuild will not generate the directories.
# -ps Generate proxy makefiles in source tree
instead of the output tree.
+# check for versions of make that don't have features we need...
+ifneq ($(filter 3.7%, $(shell $(MAKE) -v)),)
+$(error GNU Make $(filter 3.7%, $(shell $(MAKE) -v)) WILL NOT WORK -
UPGRADE TO 3.80+)
+endif
+
.PHONY: all
.PHONY: clean
all: makefile.auto