GNU makefile shell 命令无法正常工作

GNU makefile shell command not working properly

我有这两行

GCC_VERSION=$(shell gcc --version | grep 'gcc (GCC)' | awk '{print }')

$(info $$GCC_VERSION is [${GCC_VERSION}])

它打印出来:

$GCC_VERSION is [gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)]

而不是预期的 4.8.5。

有什么不能正常工作的原因吗?

谢谢。

您需要将awk命令改为

awk '{print $}'

否则 make 不会调用 awk '{print }',而是调用 awk '{print }',因为 make 变量 被扩展为空字符串。