正如标题所暗示的那样,我怎样才能防止犯规中的竞争条件?
我的具体用例是我想要的clean
和然后构建all
目标:
make -j 4 clean all
我应该放弃并解决make clean && make -j 4 all
吗?
答案 0 :(得分:2)
你不能真正并行执行构建目标的配方和另一个破坏目标的配方。
您有什么用例不会满足于:
make clean && make -j4
?
答案 1 :(得分:1)
我认为实现这项工作的唯一方法是将其放在Makefile
:
all : clean
你不想要(显然)。我的下一个想法是:
clean_all: clean
$(MAKE) all
这样你就可以写make -j clean_all
,但我也不满意。