文章目录
- 问题描述
- 解决办法
- 参考资料
mingdu.zheng at gmail dot com
问题描述
在分步骤编译时,首先预处理成 foo.i 文件,然后编译预处理文件为 foo.o,使用命令行单独运行时,foo.i 文件被保留,使用 make 编译时 foo.i 文件被自动删除。
解决办法
Makefile 中添加 .PRECIOUS 指令,告诉 make 保留后缀为 .i 的中间文件
.PRECIOUS: %.i
或者在Makefile 中添加 .SECONDARY 指令,make 将保留所有中间文件
.SECONDARY:
参考资料
- Why this makefile removes my goal?
- GNU make: Special Built-in Target Names