obj-m := test.o test-objs := mod.o dev.o sysfs.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build INSTALLDIR ?= /lib/modules/$(shell uname -r)/extra PWD := $(shell pwd) KBUILD_EXTRA_SYMBOLS := ${INSTALLDIR}/pciDriver.symvers EXTRA_CFLAGS += -I$(M)/.. default: app @KERNEL_GCC_VERSION=`cat /proc/version | head -n1 | cut -d " " -f 7` ;\ GCC_VERSION=`$(CC) --version | head -n 1 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | tail -n 1` ;\ 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 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | tail -n 1` ;\ if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION -a -z "$$RELAXED_GCC_CHECK" ]; 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 app: app.c gcc app.c -o app -lpcilib clean: rm -rf *.o *.ko *.mod.c .*.o.cmd .*.o.tmp .*.ko.cmd .*.o *.symvers modules.order .tmp_versions