子目录./test1/test9 ./test1/test6
含有两个正确的makefile
1 SUBDIRS:=./test1/test9 ./test1/test6
2 subdirs:
3 for dir in $(SUBDIRS);do\
4 $(MAKE) -C $$dir;\
5 done
make之后:
for dir in ./test1/test9 ./test1/test6;do
/bin/sh: 1: Syntax error: end of file unexpected
makea:3: recipe for target 'subdirs' failed
SUBDIRS:=./test1/test9 ./test1/test6
当在for循环中取SUBDIRS变量时,会把“./test1/test9 ./test1/test6”
当成一个完整的变量,
`make -C
$$ dir -> make -C ./test1/test9 ./test1/test6` 所以在for循环使用的时候需要将SUBDIRS变量拆分一下:
for dir in echo $(SUBDIRS) | cut -d'<空格>' -f 1-; \
do \
make -C
$$
dir; \
done \
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。