From 87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Sat, 11 Feb 2012 03:17:29 +0100 Subject: Verify gcc version --- driver/Makefile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'driver/Makefile') diff --git a/driver/Makefile b/driver/Makefile index 9eedc1e..ac4a14c 100644 --- a/driver/Makefile +++ b/driver/Makefile @@ -9,7 +9,27 @@ PWD := $(shell pwd) EXTRA_CFLAGS += -I$(M)/.. default: - $(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) modules + @KERNEL_GCC_VERSION=`cat /proc/version | head -n1 | cut -d " " -f 7` ;\ + GCC_VERSION=`$(CC) --version | head -n 1 | awk 'BEGIN { FPAT = "([^[:space:]]*)|(\\\\([^)]+\\\\))" } { print $$3 }'` ;\ + if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \ + echo "Kernel is compiled with gcc $$KERNEL_GCC_VERSION, but you are now using $$GCC_VERSION" ;\ + GCC_MAJOR=`echo $$KERNEL_GCC_VERSION | cut -d "." -f 1-2` ;\ + newCC=gcc-$$GCC_MAJOR ;\ + CC=`which $$newCC 2>/dev/null` ;\ + if [ $$? -ne 0 ]; then \ + echo "No compiler of $$GCC_MAJOR series is installed" ;\ + exit 1 ;\ + fi ;\ + GCC_VERSION=`$$CC --version | head -n 1 | awk 'BEGIN { FPAT = "([^[:space:]]*)|(\\\\([^)]+\\\\))" } { print $$3 }'` ;\ + if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \ + echo "The $$GCC_VERSION of $$GCC_MAJOR series is installed" ;\ + exit 1 ;\ + fi ;\ + echo "Setting CC to $$newCC" ;\ + else \ + CC=$(CC) ;\ + fi ;\ + $(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) CC=$$CC modules install: @mkdir -p $(INSTALLDIR) -- cgit v1.2.3