GNU make:为什么目标始终在运行?

时间:2017-08-16 11:19:32

标签: makefile

下面是示例makefile。

如果未更改syn输出,则ila不会运行。 不明白为什么ila总是跑步。

$item_id = $item->item_id
  • 首先运行:
  

- >使
  回声"合成过程。"
  合成工艺。
  触摸syn.out
  echo"调试探针插入。"
  调试探针插入。

  • 第二轮:
  

- >使
  echo"调试探针插入。"
  调试探针插入。

因为$(OUTPUT_ILA)应该比$(OUTPUTS0)更新。我没想到ila第二次跑步。

2 个答案:

答案 0 :(得分:0)

您无法创建文件ilamake假设您要创建一个比ila更新的文件$(OUTPUT_ILA)

答案 1 :(得分:0)

你还有这个问题吗? 我无法重现此错误。对我来说,$(OUTPUT_ILA)配方只是第一次运行。 (或者如果更新了syn.out或syn.tcl) 我的猜测是你在两次运行之间删除了debug.txt文件。

请注意,您可以使用跟踪和调试标志来更轻松地确定make尝试重新创建某些目标的原因。 (除非您还使用下面的第三个标志禁用内置规则,否则您将获得有关搜索隐含规则的大量无关输出。)

运行:

make --trace -d --no-builtin-rules

make --trace -d --no-builtin-rules [<TARGET>]