From 0edfb24c3840dd8df7cd69b8bdc3d4244334d2a1 Mon Sep 17 00:00:00 2001 From: Thomas De Schampheleire Date: Wed, 8 Feb 2012 17:22:17 +0100 Subject: [PATCH] dependencies: check minimal make version early on Although support/dependencies/dependencies.sh checks for the version of make, this script doesn't get a chance to run if make encounters a syntax error as a result of being too old. For example, the following syntax is only supported from make 3.81 onwards: ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) include toolchain/toolchain-buildroot.mk else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) include toolchain/toolchain-external.mk else ifeq ($(BR2_TOOLCHAIN_CTNG),y) include toolchain/toolchain-crosstool-ng.mk endif This patch adds a check for the version of make very early in the Makefile, so that old make versions are handled gracefully. [Peter: simplify check] Signed-off-by: Thomas De Schampheleire Acked-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 90d1a9d502..2b228f7c3a 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,12 @@ # Set and export the version string export BR2_VERSION:=2012.02-git +# Check for minimal make version (note: this check will break at make 10.x) +MIN_MAKE_VERSION=3.81 +ifeq ($(firstword $(sort $(MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MAKE_VERSION)) +$(error You have make '$(MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) +endif + # This top-level Makefile can *not* be executed in parallel .NOTPARALLEL: -- 2.30.2