打印
[微控制器/MCU]

驱动程序的makefile详细解释

[复制链接]
1479|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huzixian|  楼主 | 2010-6-25 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
obj-m (tab)= module.o
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD (tab) := $(shell pwd)
all:
(tab) $(MAKE) –C $(KERNELDIR) M=$(PWD)
clean:
(tab)rm –rf *.o *~ core .depend .*.cmd *.ko *.mod.c .temp_versions *.symvers
这是在一个教材上看到的一个Makefile文件的内容,开始不理解什么意思,但是一位好心的朋友回答了我的问题,解决了我的疑惑。
下面就是对第条语句的解释。
obj-m (tab)= module.o
--------
定义要生成的模块名称是module.ko 隐含说明驱动程序的入口在module.c 文件里

KERNELDIR ?= /lib/modules/$(shell uname -r)/build
-------------------
指定内核目录 ,你可以执行uname -r 看看结果,再到/lib/modules/下去看看就明白了

PWD (tab) := $(shell pwd)
---------
指定当前目录 pwd命令不用说吧

all:
(tab) $(MAKE) –C $(KERNELDIR) M=$(PWD)
------
all是make的默认目标
$(KERNELDIR) 和$(PWD) 刚才说过了 -C指定内核目录 -M指定模块文件目录
目的是编译此模块


clean:
(tab)rm –rf *.o *~ core .depend .*.cmd *.ko *.mod.c .temp_versions *.symvers
-------
清空当前目录所有的中间文件


学习技术还是要多动手啊。~

相关帖子

沙发
手写识别| | 2010-6-25 16:22 | 只看该作者
确实详细
关于这方面的知识,偶还得继续努力学习才行啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

1534

帖子

2

粉丝