我有一个包含以下规则的makefile,
所有
echo `${PWD_COMMAND}`; \
r=`${PWD_COMMAND}`; export r; \
sdir=`cd $(srcdir); ${PWD_COMMAND}`; export sdir; \
echo "r $(r)"; \
echo "sdir $(sdir)"; \
libsrcdir="$$sdir/mpfr"; \
echo $(libsrcdir)
echo $ {PWD_COMMAND}工作正常,我找回了正确的目录, 但是没有设置r变量和sdir变量。 我得到了输出
"r "
"sdir "
"/mpfr"
任何人都可以解释为什么这不起作用吗?
谢谢,比尔
答案 0 :(得分:0)
我假设${PWD_COMMAND}
是一个make变量?和$(srcdir)
一样?
但是$(r)
和$(sdir)
呢?那些是变量还是shell变量?
在那条线上扩展它们的是什么?
将set -x
放在该长行的开头,看看你在输出中得到了什么。
提示:你不会得到你期望看到的东西。
双重提示:比较$(sdir)
中echo "sdir $(sdir)"
(不工作)和$$sdir/mpfr
(虽然目前无法看到,但是工作)。