我想用gmake实现以下功能:如何仅在配方(或其他依赖项)失败时才在makefile中添加依赖项?
有依赖于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的情况下执行此操作。 – MadScientist
在*执行任何规则之前创建依赖关系图*,因此您提出的问题无法完成,但调用另一个方法确实不会减慢速度。 – Beta
那么,应该评估_target(B)真的是一个make make调用make来做B吗? –