我的第一个问题(耶!)是关于gnumake和并行构建的。这里是一个快速示例文件:
.PHONY: tool_1 tool_2 tool_3 tool_4 all tools
all: | tools
tools: | tool_2 tool_3 tool_4
tool_1:
# commands for tool 1
tool_2: | tool_1
# commands for tool 2
tool_3: | tool_1
# commands for tool 3
tool_4: | tool_1
# commands for tool 4
如果我在这里运行make -j
,那么我所做的是正确的吗?目的是确保命令tool_1
只执行一次,而且在make
尝试构建任何tool_[234]
之前就完成。我的意图是让
make -j
先构建tool_1
,然后并行构建tool_[234]
,但不要执行三次tool_1
的命令。希望这样说得清楚。感谢任何建议或想法!