cominglately
cominglately
采纳率72.1%
2015-08-24 11:13 浏览 1.6k
已采纳

工作目录下辖两个子目录./test6 ./test9,里面各含一个可执行的makefile

 1  sources=./test6 ./test9
 2  var=$(foreach dir,$(sources),$(MAKE) -C $(dir))
 3  all:
 4      @echo $(var)

    运行:
    make -C ./test6 make -C ./test9
 完全没达到,运行两目录下的makefile的目的
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答 默认 最新

  • 已采纳
    qq123386926 qq1223386926 2015-08-24 15:51
    1. var=$(foreach dir,$(sources),$(MAKE) -C $(dir);)
      需要在$(dir)变量后面加一个分号$(dir);
      因为相当于是要执行多条make命令,需要分号来分割

    2. all:
      $(var)
      去掉@echo, 不然会和第一个make语句连成一个echo语句,这就会造成打印第一个make语句,而仅执行第二make语句
      图片说明

    点赞 评论 复制链接分享

相关推荐