示例一:
KERNELDIR= /home/wenhao/platform/linux-2.6.34
PWD := $(shellpwd)
CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-
CC = $(CROSS_COMPILE)gcc
obj-m := key.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modulesclean
示例二(我用过的,但是总觉得不舒服)
obj-m +=mem_driver.o
#产生hello模块的目标文件CURRENT_PATH :=$(shell pwd)
#模块所在的当前路径LINUX_KERNEL :=$(shell uname -r)
#Linux内核源代码的当前版本LINUX_KERNEL_PATH :=/usr/src/linux-headers-$(LINUX_KERNEL)
#Linux内核源代码的绝对路径all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules #编译模块 前面必须是tab
clean:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean #清理