我有makefile all: clean $(binary_output_path)/$(target_executable)
,它首先清除输出目录和构建可执行文件。问题是当我想使用-j10
时:有时它会同时开始构建和清理,因此显然构建失败。
我该如何克服这个问题,并在多个内核上按顺序执行目标?
答案 0 :(得分:0)
您应该添加依赖项:
$(binary_output_path)/$(target_executable): | clean
但是,完全不使用clean并不是一个好主意。只需
all: $(binary_output_path)/$(target_executable)
$(binary_output_path)/$(target_executable):
先决条件
在此处写下可以建立该目标的食谱
您应该集中精力编写makefile,而无需清理。如果必须在构建可执行文件之前先进行清理,请找出原因,然后编写用于构建可执行文件的命令,使它们不管您是否已“清理”都可以使用。