GNU make中文手册:文件名通配符与Makefile规则解析
需积分: 34 128 浏览量
更新于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
- 资源: 3886
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全