La mia prima domanda (yay!) Riguarda gnumake e build paralleli. Ecco un file di esempio veloce:Edificio parallelo con gnumake e prerequisiti
.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
Se faccio make -j
su questo ragazzo, è quello che ho qui corretto per garantire che i comandi per tool_1
vengono eseguiti una sola volta, e prima make
cerca di costruire qualsiasi tool_[234]
?
Quello che sto cercando di avere make -j
causa tool_1
da costruire prima, poi tool_[234]
da costruire in parallelo, ma senza eseguire i comandi per tool_1
tre volte. Spero che abbia un senso. Grazie per eventuali suggerimenti o idee!
* sembra * funzionare come piace a me, ma questo materiale di costruzione parallelo ha un modo di modificare il comportamento in base al carico del sistema o da macchina a macchina, ecc. Prerequisiti di ordine: –