linux kernel makefile 分析 - 2
2022/3/20 7:35:33
本文主要是介绍linux kernel makefile 分析 - 2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
上一篇:https://www.cnblogs.com/zhangzhiwei122/p/16025859.html
背景说明
版本:
5.10.0 - 下面分析中 使用的行号,都是 参考 这个 版本的 Makefile 。
在线浏览: https://lxr.missinglinkelectronics.com/linux/Makefile
使用场景:
在源码文件夹下面建立一个build 文件夹,然后使用 O=build
mkdir build
make O=build
讨论首次使用和最后一次使用
前文中提到两个变量 sub_make_done need-sub-make 来控制 首次使用 和 最后一次使用。
依据这两个变量,将整个 Makefile 文件 分为 3 部分。
需要注意,用两个变量控制,不是一个变量控制,则 首次 和 最后一次 这两个概念 就不是 对立的,即可以同时存在。
1、首次使用就是最后一次使用,即这个Makefile 只使用一次。
在 首次使用 部分,黄色的 37 ~ 188 中,没有设置 need-sub-make 为 1。
见前文,need-sub-make 被设置为1 的3中情况,若这三种情况都没达到,则need-sub-make 就是空的。
则,下面的 绿色的191 ~ 1948 也就被使用了。
这时,整个Makefile 就可以看作一个 部分,即 黄色部分和绿色部分都 可见。
2、Makefile 被使用两次及以上
2.1 首次使用
在 首次使用 部分,黄色的 37 ~ 188 中, 有设置 need-sub-make 为 1。则 下面的 191 ~ 1948 部分都被忽略。相当于第一次make 可见的只有 灰色和黄色部分。
2.2 第二次使用
由于 首次使用时,export sub_make_done=1 ,第二次启动make工具,有这个变量,37 ~ 188 部分内容,对第二次make工具不可见。
由于need-sub-make 没有被export ,所以第二次启动的 make 工具中,这个变量为空。 191 ~ 1948 部分内容对第二次make工具可见
这 是我们的使用场景中的情况
第一次make 工具 可见 37 ~ 188 部分内容,abs_objtree和abs_srctree 不相同,导致 设置了 need-sub-make=1,导致 191 ~ 1948 部分内容不可见。然后 启动第二个make工具,
第二个make 工具仅仅可见通用部分和 191 ~ 1948 部分内容
这篇关于linux kernel makefile 分析 - 2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法