Makefile中的静态模式规则

时间:2017-09-01 21:44:08

标签: makefile

我正在查看Make documentation,我认为下面会先调用little然后调用big目标,但会在big之后停止,而不会尝试继续到little

targets = bigoutput littleoutput

$(targets): %output : %
  @echo Done

little:
  @echo in little

big:
  @echo in big

这是输出:

in big
big > bigoutput

我认为静态模式规则是能够通过遵循每个目标的唯一先决条件来处理多个目标的答案。我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

制定"默认目标"的概念独立于其他一切。无论你做什么,它总是只有一个目标。

要解决此问题,请使用[1,2]作为第一行。

静态模式规则对于不同的目的很有用:当您有多个生成文件,这些文件的名称与模式匹配,但需要使用不同的规则构建。