Мой первый вопрос (ура!) Касается 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
три раза. Я надеюсь, что в этом есть смысл. Спасибо за любые предложения или идеи!