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

工作目录下辖两个子目录./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条回答 默认 最新

  • 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语句
      图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型