GNU make:Makefile重建与 SSE4.2 命令集详解
需积分: 4 116 浏览量
更新于2024-08-09
收藏 4.21MB PDF 举报
"GNU makefile文件的重建-sse4.2命令集的详细说明"
GNU makefile文件是构建自动化工具的核心,它包含了构建项目所需的一系列规则和指令。在makefile中,有一些特殊的变量和规则,这些对于理解和优化构建过程至关重要。
其他特殊变量
`.VARIABLES` 是一个特殊的预定义变量,它扩展为当前引用点之前在makefile中定义的所有全局变量的列表。这包括空变量(未赋值的变量)和make的内建变量,但不包含目标指定的变量,目标指定变量仅在特定目标的上下文中有效。
makefile文件的重建
当Makefile可能由其他文件(如RCS或SCCS)生成时,make在开始解析时会尝试更新Makefile。在读取所有makefile文件后,make会将每个读取的makefile视为目标,检查是否有更新该makefile的规则。如果找到规则,make会尝试更新makefile,然后重新读取所有文件。为了避免不必要的重建,可以设置一个明确的空规则,以防止make寻找重建makefile的隐含规则。
双冒号规则与死循环
在Makefile中,一个没有依赖只有命令的双冒号规则会导致目标文件无条件更新。如果目标是makefile自身,这可能导致无限循环。为防止这种情况,make会忽略所有指向makefile的双冒号规则。
默认makefile
如果未指定`-f`选项,make会尝试读取默认的makefile文件,通常是`Makefile`或`makefile`。如果这些文件不存在,但可以通过隐含规则创建,make会尝试这样做。
目录搜索和通配符
make支持通配符来匹配多个文件名,如`*`匹配任意字符序列。然而,通配符有时会有局限,可以使用`wildcard`函数来获取当前目录中匹配通配符的文件名。`VPATH`和`vpath`变量用于指定搜索源文件的额外目录,这对于分散在多个目录中的项目尤其有用。
规则和目标
Makefile中的规则定义了如何从依赖文件构建目标文件。规则可以有多种类型,包括静态模式规则,它们允许灵活地匹配和构建一组相似的文件。静态模式规则使用模式字符串,匹配一组文件并为每种匹配生成一个规则。
理解makefile的这些细节对于编写高效、可靠的构建系统至关重要。正确使用规则、变量和搜索路径可以显著提高构建效率,减少不必要的文件重建,并确保项目的可维护性。
2019-09-04 上传
2018-11-26 上传
2021-05-27 上传
2023-09-04 上传
2023-04-19 上传
2023-05-31 上传
2023-06-21 上传
2023-07-12 上传
2023-06-09 上传
郑天昊
- 粉丝: 41
- 资源: 3849
最新资源
- growth-record:学习各种语言和技术的过程记录
- Band-Playlist:一个简单的工具,可为您的果酱会议管理乐队的播放列表。 全部在Angularjs + Firebase中。 应用程序可以离线工作
- kiri-web:基里页面
- johnmansson.github.io:托管
- Druid源码(apache-druid-0.22.1-src.tar.gz)
- 基于Swing+jdbc+mysql的Java图书管理系统.zip
- 教育门户
- joshschmelzle:你好! 我是乔希
- 行业文档-设计装置-一种切葱花专用刀具.zip
- mondora-iron-router-rest-auth:IronRouter插件(可选)对服务器路由进行身份验证
- CloudComputingProject1SingleInstance
- dotandbox:点和盒游戏
- 如何使自己的程序自动更新(在线更新).zip
- airtable-lite:轻型安全的Airtable API客户端
- 广东工业大学 数据库课程设计.zip
- notocjk:适用于Android设备的NotoSansCJK和NotoSerifCJK完整补丁