我的makefile中有以下代码:
S_RES=$(shell cat output)
echo -e "Serial result = \t" $(S_RES)
基本上,我想将shell命令cat output
的输出存储在S_RES变量中,然后将该变量回显到屏幕(前面有一些解释性文本)。我也想在以后的程序中使用变量。我以为我已经按照各种StackOverflow问题中的说明进行了操作,但它似乎没有用。
答案 0 :(得分:41)
如果允许使用简单空格而不是转义序列\t
,那么make
就是。{
GNU make
3.81或更高,$(info)
可用
例如:
$(info Serial result = $(S_RES))
如果您的make
版本为3.80或更低,则$(warning)
可能符合
目的。但是,warning
也会打印行号等。
修改强>
为了您的信息,我的GNU上的以下makefile输出abc
使3.81。
A := $(shell echo abc)
$(info $(A))
答案 1 :(得分:6)
只是旁注
这会评估使用时间,这与使用$(A)的次数相同
A = something
这会对解析时间进行评估,因此值的计算值为
A := something