Linux Kernel Makefiles介绍

 我来答
户如乐9318
2022-08-07 · TA获得超过6654个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:139万
展开全部

本文介绍 Linux 内核 Makefiles 的一些基础内容。

Makefiles 包括:

Linux 内核顶层的 Makefile 文件递归访问内核源代码的子目录。

每个子目录都有一个 kbuild Makefile 文件,根据 .config 文件内容构建内置或模块化目标。

arch/$(ARCH)/Makefile 文件向顶层 Makefile 提供特指定的体系结构信息。

scripts/Makefile.* 文件定义了 kbuild Makefile 构建内核的所有定义和规则等。

Linux 内核编译完成后,最终生成 vmlinux 和 modules 。

Linux 内核中的大多数 Makefile 都使用 kbuild 基础结构, kbuild 文件的首选名称是 Makefile 。如果 Makefile 和 kbuild 文件都存在,则使用 kbuild 文件。

目标定义是 kbuild Makefile 里的核心部分,定义了要构建的文件、特殊的编译选项和递归输入的任何子目录。

例:

kbuild Makefile 将编译所有 $(obj-y) 文件,然后调用 $(AR)rcSTP 将这些文件合并到 built-in.a 文件中。

built-in.a 中不包括符号表,稍后将通过 scripts/link-vmlinux.sh 脚本链接到 vmlinux 文件中。

在 Linux 内核引导期间,将按照链接顺序调用某些函数(例: module_init() 等)。

参考:

Documentation/kbuild/makefiles.txt

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
名片
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其... 点击进入详情页
本回答由名片提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式