summaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@dside.dyndns.org>2012-02-11 03:17:29 +0100
committerSuren A. Chilingaryan <csa@dside.dyndns.org>2012-02-11 03:17:29 +0100
commit87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf (patch)
treef2f5ccc4bdf6c08974ba6edba8e1cd45f9dc7374 /driver
parent68afaa554139d0b31a6aaebbeedb57c8a75d165f (diff)
downloadpcitool-87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf.tar.gz
pcitool-87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf.tar.bz2
pcitool-87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf.tar.xz
pcitool-87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf.zip
Verify gcc version
Diffstat (limited to 'driver')
-rw-r--r--driver/Makefile22
1 files changed, 21 insertions, 1 deletions
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)