什么“$(@:%.o =%.d)”在makefile中是什么意思?

前端之家收集整理的这篇文章主要介绍了什么“$(@:%.o =%.d)”在makefile中是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在makefile中看到GCC的下面命令选项:
... -MMD -MP -MF "$(@:%.o=%.d)" -MT "$(@:%.o=%.d)"  -o "$@" "$<"

怎么解释呢?

搜索了makefile文件,但到目前为止没有运气.

(这不仅仅是大约Automatic Variables)

解决方法

$(= =)执行 string replacement.
$@是 the name of the file being generated(目标).
所以$(@:%.o =%.d)是文件名称,.o扩展名更改为.d.

此命令行为每个.o文件生成一个.d依赖项文件.

猜你在找的C&C++相关文章