【发布时间】:2012-11-21 02:26:14
【问题描述】:
我有一个问题,我想创建一个看起来像这样的变量,
INCDIRS = -I dir0 -I dir1 -Idir2 -I dir3 ... -I dirN
其中 dir1, ... , dirN 是某个基目录 base_dir 的所有子目录的名称。
我将如何构建这个变量?本来,我以为我可以做到以下几点,
INCDIRS = $(shell for x in `find base_dir -type -d -print`; do echo -I $x; done;)
但这只会导致
INCDIRS = -I -I -I -I ... -I
如果有人能解释如何做到这一点,或者解释为什么我的原始命令得到了它的输出,我将不胜感激。谢谢!
【问题讨论】:
-
总是用
--warn运行make。然后你会被告知Makefile:n: warning: undefined variable 'x'。然后你会意识到$x被make 扩展(到什么都没有),之前 将不正确的命令行传递给shell。 (你应该说... do echo -I $$x ...。)