3

预处理后如何显示makefile?例如,如果我们有两个 makefile:

# Makefile
include Makefile2

# Makefile2
a:a.c
    gcc -o a a.c

然后<preprocessor> Makefile应该给:

a:a.c
    gcc -o a a.c

它类似于 C 预处理器所做的 ( gcc -E)。有这样的makefile预处理器吗?

4

1 回答 1

1

您没有指定要为哪个 make 工具编写 makefile。假设它是 GNU make,您可以尝试使用-n (--just-print)选项运行 makefile参见此处的命令行选项章节。这将显示 make 将在不执行的情况下执行什么(但是,将执行评估变量所需的命令)。这可能是最接近您想要看到的。

这会导致 make 读取 makefile 并打印它通常会执行以更新目标但不执行它们的每个命令。

除此之外还有$(warning)函数来调试 makefile。您几乎可以将其放置在 makefile 中的任何部分,以下将显示该位置中所有已定义变量的值:

$(warning Variables HERE: .VARIABLES)
于 2013-07-08T21:43:59.760 回答