使用通配符构建规则 - makefile 教程
需积分: 50 169 浏览量
更新于2024-08-07
收藏 632KB PDF 举报
"这篇文档是关于使用`makefile`进行程序构建的教程,重点讲解了如何在规则中使用通配符。文档由陈皓撰写,是`PDF重制版`,旨在帮助读者理解和编写`makefile`。"
在`make`工具中,规则是用来指定如何从`prerequisites`(依赖文件)生成`targets`(目标文件)的指令。规则的基本语法是将`targets`列在冒号(`:`)前,接着是依赖文件,然后是执行的命令。如果命令与`target:prerequisites`不在同一行,则需以Tab键开头,或者在同行中用分号(`;`)分隔。当依赖文件比目标文件新时,`make`会认为目标需要更新并执行相应的命令。
在规则中使用通配符能简化对一组相似文件的管理。`make`支持三种通配符:`*`、`?`和`~`。`*`代表任意数量的任意字符,`?`代表单个任意字符,`~`在Unix系统中用于表示用户的家目录。例如,`*.c`匹配所有扩展名为`.c`的文件。需要注意的是,如果文件名中包含通配符,如`*`,则需要使用反斜杠(`\`)进行转义,防止其被解释为通配符。
文档还提到了`clean`规则,它通常用于删除编译过程中产生的临时文件,如`rm -f *.o`,这会删除所有以`.o`结尾的文件。通过在`clean:`后面添加命令,我们可以执行更多的清理任务。
`make`默认使用`/bin/sh`执行命令,但也可以通过设置变量来改变这一点。文件搜寻、伪目标、多目标、静态模式、自动生成依赖性等都是`makefile`中重要的概念。在书写命令时,可以控制命令的可见性和执行方式,甚至可以定义命令包裹以实现更复杂的逻辑。
变量在`makefile`中扮演着关键角色,可以存储和传递值,包括基础变量、变量中的变量、追加值以及变量的高级用法。此外,还有条件判断和函数的使用,这些使得`makefile`更具灵活性和表达力。函数可用于字符串处理和文件名操作,例如`subst`、`patsubst`、`strip`等,它们允许在规则和命令中进行更复杂的文本操作。
总结来说,这篇文档深入讲解了`makefile`的规则语法和通配符的使用,同时也涵盖了变量、条件语句和函数等高级特性,是学习和编写`makefile`的宝贵资源。
2008-08-02 上传
2007-07-13 上传
2010-02-02 上传
2021-06-12 上传
2021-05-30 上传
2021-05-31 上传
2021-06-01 上传
2021-07-06 上传
SW_孙维
- 粉丝: 58
- 资源: 3832
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新