Makefile 调试技巧与工具
1. 利用 $(warning) 函数分离输出
$(warning) 函数会将输出发送到 STDERR,这使得我们可以将正常的 make 输出与跟踪信息分离。只需将 STDERR 重定向到一个跟踪日志文件即可。示例命令如下:
$ make TRACE=S 2> trace.log
此命令会将正常的 make 输出显示在命令行,同时将跟踪输出重定向到 trace.log 文件。
2. 跟踪规则执行
在 GNU make 4.0 之前,没有内置的方法来跟踪 makefile 目标的执行顺序。GNU make 4.0 增加了 --trace 选项用于此功能。不过,若需使用早期版本的 make,也有其他方法来跟踪 makefile,以下方法适用于 GNU make 4.0 及更早版本。
2.1 示例 makefile
.PHONY: all
all: foo.o bar
bar: ; @touch $@
这个 makefile 会构建两个文件: foo.o 和 bar 。假设 foo.c 存在,make 的内置规则会创建 foo.o ;而 bar 是一个简单规则,仅执行
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



