预处理后如何显示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预处理器吗?
预处理后如何显示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预处理器吗?
您没有指定要为哪个 make 工具编写 makefile。假设它是 GNU make,您可以尝试使用-n (--just-print)选项运行 makefile参见此处的命令行选项章节。这将显示 make 将在不执行的情况下执行什么(但是,将执行评估变量所需的命令)。这可能是最接近您想要看到的。
这会导致 make 读取 makefile 并打印它通常会执行以更新目标但不执行它们的每个命令。
除此之外还有$(warning)函数来调试 makefile。您几乎可以将其放置在 makefile 中的任何部分,以下将显示该位置中所有已定义变量的值:
$(warning Variables HERE: .VARIABLES)