[微控制器/MCU] 驱动程序的makefile详细解释

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部