makefile - 调试Makefile

标签 makefile gnu-make

一些 Makefile 包含这个 -

ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND),libunwind),y)
        msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99);
        NO_LIBUNWIND := 1

和 每当我运行此 make 时,我都会收到错误消息

warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99

我想调试这个问题 - 我想知道 SOURCE_LIBUNWINDFLAGS_UNWIND 的值 哪些导致了这个问题 - 如何将这些值打印在标准输出上以进行调试?

最佳答案

GNU make 提供了几个可用于打印变量值的函数:$(error ...)$(warning .. .)$(info ...)。手册在8.12 Functions That Control Make部分提到了它们。 .

此外,您可以使用命令行参数-p--print-data-base让make打印所有规则和变量的值。将输出重定向到文件并进行分析可能会让您更好地理解这些值的原因。参见9.7 Summary of Options部分一些额外的信息。

关于makefile - 调试Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14543779/

相关文章:

linux - 如何使 GNU/Make 停止取消对目录的符号链接(symbolic link)的引用

makefile - 子生成文件和向上传递变量

makefile - 检查 makefile 中是否定义了变量

C++ makefile编译依赖库

c++ - 尝试使用 make 文件编译时出错

c - 如何正确地使我的生成文件编译和运行?

opencv - make 和 make -j5 有什么区别?

c - 如何制作正确的 C makefile

makefile - 在 Makefile 中捕获目标的正则表达式

c++ - 目标文件是为比链接更新的 OSX 版本构建的