【发布时间】:2014-10-17 16:04:08
【问题描述】:
我正在尝试编写一个依次调用两个宏的 Makefile 宏。第一个宏回显某些内容,第二个宏调用gcc。问题是,make 扩展了这两个宏,结果是 gcc 命令只是回显并且没有运行。
这是一个例子:
funca = @echo "foo $1"
funcb = gcc --version
funcc = $(call funca,$1) $(call funcb,$1)
all:
$(call funcc,"bar")
我得到的输出是foo bar gcc --version,但我想要的是foo bar 和gcc --version 的实际输出(最好是换行)。用换行符和反斜杠打破宏没有任何好处,将gcc 命令包装在$(shell ...) 宏中也不起作用。
你知道应该怎么做吗?
【问题讨论】: