我的Makefile包含以下规则:
result-n1 : inputs
foo $^
result-n2 : result-n1
hashandmash $^ > $@
result-n3 : result-n2
hashandmash $^ > $@
# ... [~ 50 more lines omitted for clarity]
result-n20 : result-n19
hashandmash $^ > $@
我希望只有一个模式规则。这样会更清楚,并且会避免20
处的硬编码限制。
但是你会怎么做?您怎么说result-n
x 取决于result-n
x-1 ?我只看到不优雅的解决方案(比如在基础1中命名我的文件,例如result-nIIIIIIII
)。
PS& FWIW,我使用GNU Make 3.81
答案 0 :(得分:0)
你不能直接这样做。您可以为没有先决条件的result-%
创建模式规则,然后您可以单独声明先决条件:
result-n1: inputs
foo $^
result-%:
hashandmash $^ > $@
result-n2: result-n1
result-n3: result-n2
...
result-n20: result-n19