Makefile指南:文件名操作与函数解析
需积分: 39 25 浏览量
更新于2024-08-06
收藏 581KB PDF 举报
这篇文档主要介绍了如何使用Makefile进行程序构建,并深入探讨了文件名操作函数在Makefile中的应用。Makefile是自动化构建工具,用于管理编译和链接过程,简化了构建过程的复杂性。
在Makefile中,文件名操作函数是处理文件路径的重要工具,主要包括`dir`和`notdir`两个函数。
1. `dir`函数:
`dir <names...>`用于从给定的一系列文件名中提取目录部分。如果文件名包含反斜杠("/"),它会返回最后一个反斜杠之前的部分作为目录路径。若文件名没有反斜杠,则返回当前目录“./”。例如,`$(dir src/foo.c hacks)`将返回`"src/ ./"`。
2. `notdir`函数:
`notdir <names...>`与`dir`相反,它从文件名中去除目录部分,只保留文件名本身。所以对于同样的例子,`$(notdir src/foo.c hacks)`将返回`"foo.c hacks"`。
Makefile的核心在于规则,它们定义了如何根据源文件构建目标文件。规则包括显式规则和隐晦规则,显式规则明确指定了构建目标所需的命令,而隐晦规则则是预定义的,可以自动匹配类似的构建任务。
在编写Makefile时,还可以使用变量来存储重复使用的文本,如文件路径或编译选项,减少代码冗余。通过`make`的工作方式,它会检查目标文件的修改时间,如果源文件更新了,就执行相应的构建命令。
此外,Makefile中还涉及到文件指示、注释、引用其他Makefile、环境变量`MAKEFILES`以及make的工作模式等概念。书写规则时,可以使用通配符、文件搜索、伪目标、多目标、静态模式、自动生成依赖性等功能,使Makefile更具灵活性。
在命令书写方面,可以控制命令的可见性和执行方式,处理命令出错的情况,以及嵌套执行`make`。变量的使用则涵盖了基础赋值、变量中的变量、追加值、覆盖和多行变量等内容。
最后,Makefile提供了条件判断和一系列函数,如字符串处理函数,用于字符串替换、过滤、排序等操作,以及文件名操作函数,如`dir`和`notdir`,它们帮助处理和操作文件路径,极大地增强了Makefile的功能和实用性。
2020-05-12 上传
2019-09-15 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Davider_Wu
- 粉丝: 45
- 资源: 3915
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构