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设备驱动开发详解》第二版,宋宝华

内核Document/kbuild相关文档


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值