MapGIS 10教程:理解双冒号规则的执行差异
需积分: 44 194 浏览量
更新于2024-08-10
收藏 2.1MB PDF 举报
双冒号规则是GNU Makefile语言中的一种高级用法,用于在Makefile中实现更精细的控制。这种规则使用两个冒号“::”来替代普通规则中的单个冒号“:”,提供了与普通规则不同的行为。在处理过程中,双冒号规则有以下关键特性:
1. 目标多重处理:
当一个文件被多个双冒号规则定义为目标时,每个规则都会独立处理,而非像普通规则那样合并所有依赖。这意味着,如果依赖文件发生变化,仅执行与之关联的规则,而不会影响其他以该文件为目标的规则。
2. 规则执行策略:
双冒号规则更灵活。即使没有依赖文件,只要引用了目标,规则就会被无条件执行。相反,普通规则只有当目标文件不存在或者其依赖文件较新时才会执行,目标文件总是被视为最新的。
3. 依赖与命令的独立性:
每个双冒号规则有自己的依赖和命令行,它们不会因为其他规则的存在而受到影响。当依赖文件变化时,只会更新对应的规则,而不是所有涉及该文件的目标。
4. 伪目标和特殊规则:
双冒号规则也适用于Makefile的伪目标和特殊规则,如`.PHONY`目标,这些目标不依赖于文件的存在,而是根据命令行来决定是否执行。此外,还涉及到强制目标、空目标文件以及静态模式等概念,它们在处理多目标和多规则目标时提供不同的规则语法和行为。
5. 搜索路径管理:
在处理目录搜索时,双冒号规则遵循特定的规则,比如VPATH变量控制一般搜索路径,vpath关键字用于选择性搜索,以及对隐含规则、命令行搜索路径和库文件搜索路径的影响。
总结起来,双冒号规则在Makefile中扮演着复杂任务管理和控制执行流程的角色,它允许开发者根据需要灵活地定义目标和依赖关系,提高构建过程的精确性和效率。理解并熟练运用双冒号规则是编写高效Makefile的关键。
2011-10-20 上传
2020-02-26 上传
2012-09-25 上传
2023-07-28 上传
2023-05-11 上传
2023-07-19 上传
2023-08-09 上传
2023-05-09 上传
2023-05-20 上传
![](https://profile-avatar.csdnimg.cn/1222a16fff444332aff66ab5425a451c_weixin_26757925.jpg!1)
菊果子
- 粉丝: 47
- 资源: 3861
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景