1 sources=./test6 ./test9
2 var=$(foreach dir,$(sources),$(MAKE) -C $(dir))
3 all:
4 @echo $(var)
运行:
make -C ./test6 make -C ./test9
完全没达到,运行两目录下的makefile的目的
工作目录下辖两个子目录./test6 ./test9,里面各含一个可执行的makefile
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qq1223386926 2015-08-24 15:51关注
var=$(foreach dir,$(sources),$(MAKE) -C $(dir);)
需要在$(dir)变量后面加一个分号$(dir);
因为相当于是要执行多条make命令,需要分号来分割all:
$(var)
去掉@echo, 不然会和第一个make语句连成一个echo语句,这就会造成打印第一个make语句,而仅执行第二make语句
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报