内核的Makefile
来源:互联网 发布:新浪微博刷活粉丝软件 编辑:程序博客网 时间:2024/05/17 18:13
转自:http://blog.csdn.net/skywalkzf/article/details/5047582
在linux2.6.x/Documentation/kbuild目录下有周详的介绍有关kernel makefile的知识。
内核的Makefile分为5个组成部分:
Makefile 最顶层的Makefile
.config 内核的当前配置文档,编译时成为定层Makefile的一部分
arch/$(ARCH)/Makefile 和体系结构相关的Makefile
s/ Makefile.* 一些Makefile的通用规则
kbuild Makefile 各级目录下的大概约500个文档,编译时根据上层Makefile传下来的宏定义和其他编译规则,将源代码编译成模块或编入内核
顶层的Makefile文档读取 .config文档的内容,并总体上负责build内核和模块。Arch Makefile则提供补充体系结构相关的信息。 s目录下的Makefile文档包含了任何用来根据kbuild Makefile 构建内核所需的定义和规则。
(其中.config的内容是在make menuconfig的时候,通过Kconfig文档配置的结果。
举个例子:
假设想把自己写的一个flash的驱动程式加载到工程中,而且能够通过menuconfig配置内核时选择该驱动该怎么办呢?能够分三步:
第一:将您写的flashtest.c 文档添加到/driver/mtd/maps/ 目录下。
第二:修改/driver/mtd/maps目录下的kconfig文档:
config MTD_flashtest
tristate “ap71 flash"
这样当make menuconfig时 ,将会出现 ap71 flash选项。
第三:修改该目录下makefile文档。
ü 添加如下内容:obj-$(CONFIG_MTD_flashtest) += flashtest.o
这样,当您运行make menucofnig时,您将发现ap71 flash选项,假如您选择了此项。该选择就会保存在.config文档中。当您编译内核时,将会读取.config文档,当发现ap71 flash 选项为yes 时,系统在调用/driver/mtd/maps/下的makefile 时,将会把 flashtest.o 加入到内核中。即可达到您的目的
- 【Makefile】: linux内核的makefile
- Linux内核的Makefile
- 内核的Makefile
- linux内核的makefile
- 内核的Makefile
- 内核驱动的Makefile
- 内核模块的Makefile
- 3. 内核模块的Makefile
- linux内核模块的makefile
- 内核模块的Makefile编写
- 普通的内核模块Makefile
- 编译内核模块的makefile
- 编译内核模块的makefile
- Makefile与内核的编译
- 编译内核模块的Makefile
- 编译内核模块的Makefile
- 内核模块的Makefile文件
- [内核源码][Makefile] Linux内核源码的Makefile
- 用户登录三次失败禁用2分钟
- Kconfig文档的作用
- C语言中常用库函数及其用法-sscanf()
- Android NDK的入门学习过程
- linux下的IPC机制之共享内存
- 内核的Makefile
- SQL字符类型小结
- javascript的复习
- 使用Maven和Mybatis开发时,遇到“java.sql.SQLException: No suitable driver found for http://maven.apache.org”
- 一线网页游戏程序员日志 (二)
- 什么是 "asmlinkage"?
- linux kernel入门
- 在Mac OS X中配置Apache + PHP + MySQL
- 进制转换(二)(2012.2.20)通用版本(十进制转换二、八、十六进制)