Makefile:当同一配方生成多个依赖项时,避免多次执行配方

时间:2018-01-20 04:49:34

标签: makefile

我有一个具有以下结构的makefile:

log_file output_1 output_2: input
    myprogram input
generate: log_file output_1 output_2

当我向make询问目标generate时,它会执行三次第一个食谱。有没有办法让一个目标依赖于多个依赖项,这些依赖项都是由一个配方一起创建的,而不必多次调用该配方?

1 个答案:

答案 0 :(得分:1)

啊,经典的makefile问题。所有解决方案都像黑客一样;接受你的选择......(并原谅这里密集的文字)

generate : input ; myprogram $^ # if you never invoke "make output_1"

output_1 output_2 : logfile; @: # the choice of mitm is arbitrary logfile : input ; myprogram $^