跟我一起学Makefile:清空目标文件与规则解析
需积分: 0 9 浏览量
更新于2024-08-07
收藏 806KB PDF 举报
"清空目标文件的规则-elasticsearch权威指南-中文"
本文主要讲解了如何在Makefile中编写清空目标文件(如`.o`和执行文件)的规则,这对于维护项目干净整洁以及方便重新编译至关重要。作者强调,这是一种良好的编程习惯。通常,一个基本的`clean`规则会包含`rm`命令来删除指定的文件。
标准做法是:
```makefile
.PHONY : clean
clean :
-rm edit $(objects)
```
这里的`.PHONY`指示`clean`是一个伪目标,确保`make`在任何同名实际文件存在时也会执行该规则。减号`-`在`rm`命令前表示即使有文件删除失败,`make`也应该继续执行后续命令,避免因个别文件问题中断整个清理过程。为了避免`clean`成为`make`的默认目标,它应放置在Makefile的末尾。
Makefile是一个用于自动化构建项目的文件,其中包含规则、变量和其他指令。它有显式规则(明确指定目标及其依赖)、隐晦规则(make自动推导编译和链接步骤)、变量定义、文件指示和注释等组成部分。此外,Makefile还可以指定文件名、引用其他Makefile、利用环境变量`MAKEFILES`,以及控制`make`的工作方式。
书写规则时,需要考虑规则的语法、通配符的使用、文件搜索、伪目标(如`clean`)以实现不实际生成文件的目标、多目标规则、静态模式规则(用于批量处理文件)和自动生成依赖性,这些都极大地提高了Makefile的灵活性和实用性。
在命令书写方面,可以控制命令的可见性、处理命令执行错误、嵌套调用`make`、定义命令包裹(command grouping)以优化执行效率。变量的使用是Makefile的另一大关键,包括基础变量、变量中的变量、高级变量用法、追加变量值、覆盖已有的变量定义、多行变量、环境变量、目标变量和模式变量等,这些提供了灵活的参数管理和复用机制。
最后,Makefile支持条件判断和函数使用,条件判断允许根据特定条件执行不同的构建逻辑,而函数则提供了对字符串和文件名的处理能力,如替换、过滤、排序、提取单词等,增强了Makefile的表达力和功能性。
通过理解和熟练运用这些概念,开发者能够创建高效且易于维护的Makefile,从而简化软件项目的构建过程。
344 浏览量
143 浏览量
1044 浏览量
181 浏览量
191 浏览量
2018-08-28 上传
2019-07-05 上传
188 浏览量
258 浏览量
淡墨1913
- 粉丝: 32
- 资源: 3803
最新资源
- node-shopping-cart
- platzi-store-backend
- 小企业考勤表excel模版下载
- 宽敞阳光3D客厅模型设计
- upptime:Christ Christopher Demicoli的正常运行时间监控器和状态页面,由@upptime提供支持
- Colormix:将基本颜色与字符串语法相结合以创建任何 RGB 颜色。-matlab开发
- 在16x2 LCD显示屏上创建自定义动画-项目开发
- 舒适室内家装模型
- 值班表excel模版下载
- shortuuid:PHP 7.3+库可生成简洁,明确,URL安全的UUID
- laravel-webp
- uri-online-judge:ResoluçãodasQuestões做URI在线法官
- Unity ads demo
- dogify:帮助狗化网络!
- btech_cse_sem_4-material_-2021-MRU
- 超市进出货管理流程excel模版下载