Makefile中的一个坑
2024-10-09 08:26:18
问题描述:Makefile中,我想将一个变量的后缀全部进行替换,如将所有的.c后缀变成.d后缀
方法:$(CUR_SOURCE: .c = .d )
说明:查阅相关资料,了解到上述这种语法就可以将所有的.c后缀变成.d后缀
测试代码:
VAR = a.c b.c OUT = $(VAR: .c = .d) all :
$(info $(VAR)) # a.c b.c
$(info $(OUT)) # a.c b.c
结果:死活不对
死办法,按照例子一个个单词敲,连空格都一样,代码如下:
VAR = a.c b.c OUT = $(VAR:.c=.d) all :
$(info $(VAR)) # a.c b.c
$(info $(OUT)) # a.d b.d
结果:成功
对比:
成功 OUT = $(VAR:.c=.d)
失败 OUT = $(VAR: .c = .d)
不同:空格不一样
结论:$(CUR_SOURCE:xxx =yyy),这种方法进行替换时,会严格按照字符匹配,如果包含通配符,会严格按照规则匹配,包括等号两边的空格!!!
最新文章
- Linux流量监控工具 - iftop
- 虚拟机下linux安装mysql,apache和php
- Amoeba for MySQL---分布式数据库Proxy解决方案
- SSH框架中新建立实体类后的配置
- Android 学习笔记之AndBase框架学习(六) PullToRefrech 下拉刷新的实现
- 44个 Javascript 变态题解析 (上\下)
- 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
- 浏览器被hao.360.cn劫持怎么办
- mysql一次添加多条记录
- mysql管理员操作
- 关于“javax.servlet.include.request_uri”属性值
- SWT中在treeview中显示图片
- java序列化是什么和反序列化和hadoop序列化
- Angularjs 与Ckeditor
- 微信公众号平台接口开发:基础支持,获取access_token
- 记录idea maven项目打包部署web项目mapper扫描失败
- vue 学习小记
- hadoop学习笔记肆--元数据管理机制
- Linux下终端录制工具-asciinema
- Linux之更改Nginx映射默认根目录