如果配方(或其他依赖项)失败,如何在makefile中添加依赖项?

时间:2014-01-10 03:23:27

标签: makefile dependencies gnu-make

我想用gmake实现以下功能:

依赖X.如果X通过,我们就完成了。否则A必须依赖于B(具有配方和额外依赖性)。我也希望能够并行运行make,所以我不能从A: X B

开始

我需要类似的东西:

X:
    $(run_recipe1_and_set_pass_or_fail)

B: B1 B2
    $(run_recipe2)

A: X
    if "X.failed" "evaluate_target(B)" ""

我还想避免在这个过程中运行另一个make - 这会减慢速度。

1 个答案:

答案 0 :(得分:1)

是的,如果我将 A 食谱更改为

A: X
    $(if -e X.failed,make $(MFLAGS) B,)

它起作用,当B完成的工作很重要时,时间也不错。