3
pciDriver-objs := base.o int.o umem.o kmem.o sysfs.o ioctl.o
5
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
6
INSTALLDIR ?= /lib/modules/$(shell uname -r)/extra
9
EXTRA_CFLAGS += -I$(M)/..
12
@KERNEL_GCC_VERSION=`cat /proc/version | head -n1 | cut -d " " -f 7` ;\
13
GCC_VERSION=`$(CC) --version | head -n 1 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | tail -n 1` ;\
14
if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \
15
echo "Kernel is compiled with gcc $$KERNEL_GCC_VERSION, but you are now using $$GCC_VERSION" ;\
16
GCC_MAJOR=`echo $$KERNEL_GCC_VERSION | cut -d "." -f 1-2` ;\
17
newCC=gcc-$$GCC_MAJOR ;\
18
CC=`which $$newCC 2>/dev/null` ;\
19
if [ $$? -ne 0 ]; then \
20
echo "No compiler of $$GCC_MAJOR series is installed" ;\
23
GCC_VERSION=`$$CC --version | head -n 1 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | head -n 1` ;\
24
if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \
25
echo "The $$GCC_VERSION of $$GCC_MAJOR series is installed" ;\
28
echo "Setting CC to $$newCC" ;\
32
$(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) CC=$$CC modules
35
@mkdir -p $(INSTALLDIR)
36
@echo "INSTALL $(INSTALLDIR)/pciDriver.ko"
37
@install -m 755 pciDriver.ko $(INSTALLDIR)
38
@echo "INSTALL /usr/include/pciDriver/driver/pciDriver.h"
39
@mkdir -p /usr/include/pciDriver/driver
40
@install -m 644 pciDriver.h /usr/include/pciDriver/driver
43
@echo "UNINSTALL $(INSTALLDIR)/pciDriver.ko"
44
@rm -f $(INSTALLDIR)/pciDriver.ko
45
@echo "UNINSTALL /usr/include/pciDriver/driver/pciDriver.h"
46
@rm -rf /usr/include/pciDriver/driver
49
rm -rf *.o *.ko *.mod.c .*.o.cmd .*.o.tmp .*.ko.cmd .*.o *.symvers modules.order .tmp_versions