make V=1 分析

文章目录

  • make V=1
    • 1. 加载 -include 声明的文件

make V=1

1. 加载 -include 声明的文件

# 顶层 Makefile
270 KCONFIG_CONFIG	?= .config
......
580 -include include/config/auto.conf
584 -include include/config/auto.conf.cmd
......
587 $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
......
593 include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
594 	$(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
595	    @# If the following part fails, include/config/auto.conf should be
596	    @# deleted so "make silentoldconfig" will be re-run on the next build.
597	    $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf || \
598		       { rm -f include/config/auto.conf; false; }
599	    @# include/config.h has been updated after "make silentoldconfig".
600     @# We need to touch include/config/auto.conf so it gets newer
601 	@# than include/config.h.
602 	@# Otherwise, 'make silentoldconfig' would be invoked twice.
603 	$(Q)touch include/config/auto.conf
......
608  -include include/autoconf.mk
609  -include include/autoconf.mk.dep

-include:表示在加载的时候会先去查找文件是否存在,如果存在,则读入且查看是否有规则对文件中的内容进行更新,如果有,那么等更新完再加载。如果没有相应的更新规则,那么直接加载进来;如果不存在,会出现一个警告,但并不会直接退出,而是等完成makefile所有文件的读取之后,再试图用规则进行新建文件,如果没有规则新建这个文件,则直接报错,退出程序。

  1. 580-584行:尝试包含 auto.conf 和 auto.conf.cmd 这两个文件。
    608-609行:尝试包含 autoconf.mk 和 autoconf.mk.dep 这两个文件。
    由于使用 -include 进行声明,所以即使这四个文件不存在也不会报错退出。此时这四个文件都不存在,会出现警告但是不会直接退出,等完成 Makefile 读取所有文件后再试图用规则去新建这四个文件。

  2. 完成 Makefile 读取所有文件,此时试图用规则去新建这四个文件。
    593行:有第一个文件auto.conf的新建规则,优先执行。

  3. 593行:目标include/config/%.conf依赖$(KCONFIG_CONFIG) include/config/auto.conf.cmd
    这两个依赖在587行中有新建规则:这两个目标没有依赖,也没有生成它的规则命令,所以可想 GNU Make 本身无法生成 auto.conf.cmd 的。 然后该条语句后面的一个分号表明,这两个目标被强制是最新的

  4. 由步骤3可知,目标include/config/%.conf的两个依赖强制最新,接下来执行目标的生成语句即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序的登录+发布流程

今天我们来将一下小程序的登录和发布流程!!! 小程序的登录流程 流程图 首先登录流程还是看官网说的:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 这是官网发布的一个流程图 认识cod…

2 图片的分割处理和亚像素精度处理(c++和python)

本文的图片处理分为图片分割、图像的亚像素坐标处理。亚像素处理的原理可以看论文一种基于多项式插值改进的亚像素细分算法,该论文的详解及c的代码实现可以看博文基于多项式插值的亚像素边缘定位算法_基于多项式插值的亚像素算法-CSDN博客。下面的内容很多来自以上博…

【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化

Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training 摘要1 引言2 动机3 问题定义4 方法论4.1 时空复合体4.2 复数约简 5 实验6 相关工作7 结论参考文献 摘要 时间旅行可视化回答了深度分类器的预测是如何在训练…

mysql常用参数配置详解my.cnf my.ini

1.关注生产中高频常用参数 # 数据库时区 log_timestamps = system # 刷盘策略 0,1,2 innodb_flush_log_at_trx_commit # 定义了 InnoDB 用于写日志数据的缓冲区大小。当事务发生时,日志首先被写入这个缓冲区,然后再被刷新(flush)到磁盘上的重做日志文件(redo log file…

MATLAB画图时添加标注显示有效数字的位数,可以编辑此函数

本来系统有个函数,在图像窗口选择标注工具,再在图像窗口右击鼠标,选择"编辑文本更新函数...",即打开系统的设置函数,可以修改最后一行: formattedValue [valueFormat num2str(value,4) removeV…

6.18总结

省赛排位赛2&#xff1a; 省赛排名赛2 - Virtual Judge 思路&#xff1a; 设两个方程直接解出来就行 代码&#xff1a; #include<bits/stdc.h> using namespace std; int n, m; int main() {int n, m;int ans1, ans2;cin >> n >> m;ans1 n - (-3 sqr…

QT-day3

1、思维导图 2、升级优化自己应用程序的登录界面。 要求&#xff1a; 1. qss实现 2. 需要有图层的叠加 &#xff08;QFrame&#xff09; 3. 设置纯净窗口后&#xff0c;有关闭等窗口功能。 4. 如果账号密码正确&#xff0c;则实现登录界面关闭&#xff0c;另一个应用界面显示。…

C#标志位的使用

C#作为一种功能强大的编程语言&#xff0c;是在.NET框架中广泛使用的语言之一。在实际应用中&#xff0c;C#的标志位在各种系统设计和编程实践中会涉及到。这篇文章将讨论如何使用C#的标志位来跟踪报警声音的播放状态。 报警系统是一种广泛应用的系统&#xff0c;它可以在关键时…

本地部署Ollama+qwen本地大语言模型Web交互界面

什么是 Ollama WebUI&#xff1f; Ollama WebUI 已经更名为 Open WebUI. Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线操作。它支持各种 LLM 运行程序&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 Ollama WebUI 是一个革命性的 L…

低代码平台总数与深度解析

本文将全面盘点2023年至2024年国内外低代码平台&#xff0c;包括简道云、明道云、腾讯云低代码平台、Zoho Creator、微搭、华为云Astro、金蝶云苍穹、用友YonBuilder、葡萄城活字格、氚云、宜搭、织信、爱速搭、宜搭、轻流、伙伴云、Zion、钉钉搭、数睿数据、奥哲云枢、网易数帆…

AI大战:通用VS垂直模型,谁主未来?

AI大战&#xff1a;通用VS垂直模型&#xff0c;谁主未来&#xff1f; 在人工智能的世界里&#xff0c;大模型的战场正逐渐分化为两个阵营&#xff1a;通用大模型和垂直大模型。 这两种模型各有特点&#xff0c;分别在不同的场景下展现出各自的优势。 那么&#xff0c;面对这…

深度学习(九)——神经网络:最大池化的作用

一、 torch.nn中Pool layers的介绍 官网链接&#xff1a; https://pytorch.org/docs/stable/nn.html#pooling-layers 1. nn.MaxPool2d介绍 nn.MaxPool2d是在进行图像处理时&#xff0c;Pool layers最常用的函数 官方文档&#xff1a;MaxPool2d — PyTorch 2.0 documentation &…

微信小程序毕业设计-小区疫情防控系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

ChatGPT的问题与回复的内容导出(Chorme)

我给出两种方式&#xff0c;第一种方式无使用要求&#xff0c;第二种方式必须安装Chorme 个人更推荐第二种方式 第一种方式&#xff1a;使用chatgpt自带的数据导出 缺点&#xff1a;会将当前未归档的所有聊天记录导出&#xff0c;发送到你的电子邮箱中 第二种方式&#xff1a…

STM32 proteus + STM32Cubemx仿真教程(第五课ADC光敏电阻采样教程)

文章目录 前言一、ADC概念二、光敏电阻的概念1. 光敏电阻的工作原理2. 光敏电阻的特性3. 光敏电阻的应用4. 光敏电阻的电路设计5. 实际使用中的注意事项总结 三、STM32Cubemx创建工程四、proteus仿真电路图五、代码编写1. HAL_ADC_Start 函数原型参数返回值功能描述示例 2. HAL…

datax使用实例及优化

一、实例 1.从MySQL读取数据到hdfs 查看模板 python bin/datax.py -r mysqlreader -w hdfswriter 覆写模板 {"job": {"content": [{"reader": {"name": "mysqlreader", "parameter": {"col…

Java每日作业day6.18

ok了家人们今天我们继续学习方法的更多使用&#xff0c;闲话少叙&#xff0c;我们来看今天学了什么 1.重载 在同一个类中&#xff0c;可不可以存在同名的方法&#xff1f;重载:在同一个类中&#xff0c;定义了多个同名的方法&#xff0c;但每个方法具有不同的参数类型或参数个…

【设计模式(三) 设计模式的分类 】

设计模式&#xff08;DesignPattern&#xff09;是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的 &#xff1a;为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化&#xff1b;设计模式是软件工程…

网络编程4----网络原理(面试及期末必备)

1 应用层 应用层是与程序员关系最密切的一层&#xff0c;在应用层这里了&#xff0c;很多时候&#xff0c;都是使用程序员自定义的协议&#xff0c;当然&#xff0c;也有很多现成的协议供我们使用。 “自定义协议”&#xff1a; 自定义一个协议&#xff0c;也就是自己做一个…

接口联调测试

在我们工作过程中&#xff0c;有时需要一些接口进行联调。接口联调测试&#xff0c;就是按照业务要求&#xff0c;把接口进行组合测试。接口组合起来才能实现完整的业务&#xff0c;体现更大的价值。 接口联调测试业务分析&#xff1a; 原因&#xff1a; 项目中的接口是多个…