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