显示here后,Make会快速从shell函数argumnet中删除新行。
我试过这个makefile:
# The original lines of the command were too long
# and in-fact, that's why i split them into 2 lines.
# For simplicity, I replaced the lines with single-character words.
define cmd
rm
dir
endef
x := $(shell $(cmd))
all:
@:
跑步,我明白了:
make: rm
dir: Command not found
是否意味着,Make传递命令" rm \ ndir" (注意中间的NL charachter!)?
因为,这肯定不是我们在上面的链接中看到的。
答案 0 :(得分:0)
是的。如果您在rm
之后添加了额外的空格,则会看到输出rm: cannot remove ‘\ndir’: No such file or directory
。但是,如果我之前回答here,则使用
define cmd
rm dir
endef
或
define cmd
rm \
dir
endef
它将执行rm dir
。