bzr branch
http://darksoft.org/webbzr/alps/kmm
1
by Suren A. Chilingaryan
Initial import |
1 |
obj-m := kmm.o |
2 |
kmm-objs := mod.o dev.o |
|
3 |
||
4 |
KERNELDIR ?= /lib/modules/$(shell uname -r)/build |
|
5 |
INSTALLDIR ?= /lib/modules/$(shell uname -r)/kernel/extra |
|
6 |
PWD := $(shell pwd) |
|
7 |
||
8 |
EXTRA_CFLAGS += -I$(M)/.. |
|
9 |
||
10 |
default: |
|
11 |
@KERNEL_GCC_VERSION=`cat /proc/version | head -n1 | cut -d " " -f 7` ;\ |
|
12 |
GCC_VERSION=`$(CC) --version | head -n 1 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | tail -n 1` ;\ |
|
13 |
if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \
|
|
14 |
echo "Kernel is compiled with gcc $$KERNEL_GCC_VERSION, but you are now using $$GCC_VERSION" ;\
|
|
15 |
GCC_MAJOR=`echo $$KERNEL_GCC_VERSION | cut -d "." -f 1-2` ;\
|
|
16 |
newCC=gcc-$$GCC_MAJOR ;\
|
|
17 |
CC=`which $$newCC 2>/dev/null` ;\
|
|
18 |
if [ $$? -ne 0 ]; then \
|
|
19 |
echo "No compiler of $$GCC_MAJOR series is installed" ;\
|
|
20 |
exit 1 ;\
|
|
21 |
fi ;\
|
|
2
by Suren A. Chilingaryan
Provide relaxed mode of gcc check |
22 |
GCC_VERSION=`$$CC --version | head -n 1 | tr ' ' '\n' | grep -e "[0-9]\+\.[0-9]" | tail -n 1` ;\
|
23 |
if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION -a -z "$$RELAXED_GCC_CHECK" ]; then \
|
|
1
by Suren A. Chilingaryan
Initial import |
24 |
echo "The $$GCC_VERSION of $$GCC_MAJOR series is installed" ;\
|
25 |
exit 1 ;\
|
|
26 |
fi ;\
|
|
27 |
echo "Setting CC to $$newCC" ;\
|
|
28 |
else \
|
|
29 |
CC=$(CC) ;\
|
|
30 |
fi ;\
|
|
31 |
$(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) CC=$$CC modules
|
|
32 |
||
33 |
install: |
|
34 |
@mkdir -p $(INSTALLDIR) |
|
35 |
@echo "INSTALL $(INSTALLDIR)/pciDriver.ko" |
|
36 |
@install -m 755 pciDriver.ko $(INSTALLDIR) |
|
37 |
||
38 |
uninstall: |
|
39 |
@echo "UNINSTALL $(INSTALLDIR)/pciDriver.ko" |
|
40 |
@rm -f $(INSTALLDIR)/pciDriver.ko |
|
41 |
||
42 |
clean: |
|
43 |
rm -rf *.o *.ko *.mod.c .*.o.cmd .*.o.tmp .*.ko.cmd .*.o *.symvers modules.order .tmp_versions |