Linux 2.6内核驱动模块Makefile模版

2014-11-24 13:07:21 · 作者: · 浏览: 2

Linux 2.6内核驱动模块Makefile模版,这个模版非常简洁,单目录下增减源文件时无需修改。


注意模块的编译有两次make调用的过程,这两次过程之间Makefile中定义的变量是无法自动传递的,所以必须通过命令行来传递。


KVERS = $(shell uname -r)


# Kernel modules


MODNAME=test


obj-m := $(MODNAME).o


OBJS = $(patsubst %.c, %.o, $(wildcard *.c))


# Specify flags for the module compilation.


EXTRA_CFLAGS=-g -O0 -I$(M)/inc


all:


make -C /lib/modules/$(KVERS)/build $(MODNAME)-objs="$(OBJS)" M=$(CURDIR) modules


clean:


make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean


参考资料:


《Linux设备驱动开发详解》第二版,宋宝华 http://www.linuxidc.net/thread-2174-1-1.html


内核Document/kbuild相关文档