GNU make中文手册:文件名通配符与Makefile规则解析
需积分: 34 191 浏览量
更新于2024-08-10
收藏 1.45MB PDF 举报
"文件名使用通配符-stc8h 系列单片机技术参考手册"
在编程领域,尤其是在构建自动化工具如`GNU Make`中,文件名使用通配符是一项重要的功能。通配符允许程序员简洁地表示一组具有相似模式的文件,从而简化Makefile的编写。`stc8h`系列单片机技术参考手册虽然未直接涉及这一概念,但通配符在编写针对这类单片机的编译脚本时同样适用。
通配符主要包括三种:
1. `*`:代表任意数量的任意字符序列。例如,“*.c”表示所有以".c"结尾的文件。
2. `?`:代表单个任意字符。例如,“?.c”表示一个字符后跟".c"的文件。
3. `[...]`:代表括号内列举的任意一个字符。例如,“[abc].c”表示"a.c", "b.c" 或 "c.c"。
在Makefile中,通配符有特定的使用限制,主要用在两个场景:
1. 规则的目标和依赖:在定义规则时,可以使用通配符来代表一组文件。例如,`clean:`后面接`*.o`,表示清理所有以".o"结尾的对象文件。
2. 通配符展开:当`make`读取Makefile时,会自动识别并展开这些通配符,找出它们匹配的实际文件。
然而,通配符不是万能的,存在一些限制和缺陷:
- **通配符不被递归展开**:如果一个依赖项是一个通配符,且这个通配符本身又依赖于其他文件,`make`不会递归展开这个通配符。
- **实时性问题**:`make`仅在读取Makefile时展开通配符,如果在此之后有新文件匹配上通配符,`make`不会自动检测到。
为了弥补通配符的不足,`GNU Make`提供了`wildcard`函数,它可以在运行时动态获取匹配通配符的所有文件名。例如,`SRC := $(wildcard *.c)`会将当前目录下所有.c文件的列表赋值给变量`SRC`。
此外,`GNU Make`还支持目录搜索,通过`VPATH`变量或`vpath`关键字指定额外的搜索路径,使得`make`能在多个目录中查找依赖文件,这对于大型项目或分散的源代码组织非常有用。
正确使用通配符和目录搜索机制是编写高效Makefile的关键,特别是在处理大量同类型的文件时,能够极大地减少手动指定每个文件的繁琐工作。在`stc8h`系列单片机的开发中,理解并掌握这些技巧能够提升编译和构建流程的自动化程度。
2013-04-09 上传
2010-04-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Sylviazn
- 粉丝: 29
- 资源: 3871
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍