将Shell脚本的输出返回到Makefile

3
我尝试过类似这样的操作:
VAR := $(echo \`find . -name ".txt"`)

但是当我从一个目标内部输出$VAR时,什么也没有显示...

1个回答

7

请尝试

VAR := $(shell find . -name "*.txt")

谢谢,$(shell cmd)工作得更好,但是我运行SO_PATH_LIBPREFIX := $(shell for f in find . - name"*"; do dn=$(dirname $f) && fn=$(basename $f)&& echo$dn/lib$fn; done)时会出现奇怪的结果,就好像$d和$f没有被识别一样。 - dm76
3
make在将字符串传递给shell之前会展开$f等变量,因此您需要将$符号加倍... do dn=$(dirname $$f) && ...。有一个解释为什么您不需要在“$(dirname...)”中加倍$符号,即“$('”不是make的变量名。 - Jonathan Leffler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接