Мой первый вопрос (yay!) - о gnumake и параллельных сборках. Вот простой пример файл:Параллельное здание с 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
три раза. Я надеюсь, что в этом есть смысл. Спасибо за любые предложения или идеи!
Это похоже на то, что я работаю так, как хочу, но этот материал параллельной сборки имеет способ изменения поведения, основанного на загрузке системы или от машины к машине, и т. Д. –