Meine erste Frage (yay!) Ist über Gnumake und parallele Builds. Hier ist eine kurze Beispieldatei:Paralleles Bauen mit Gnumake und Voraussetzungen
.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
Wenn ich make -j
auf diesem Kerl zu tun, ist das, was ich hier richtig, um sicherzustellen, dass die Befehle für tool_1
ausgeführt werden genau einmal, und vor make
versucht jede tool_[234]
zu bauen?
Was ich suche ist make -j
Ursache tool_1
zu haben zuerst gebaut werden, dann tool_[234]
parallel gebaut werden, aber ohne die Befehle für tool_1
dreimal ausgeführt wird. Ich hoffe das ergibt Sinn. Danke für Anregungen oder Ideen!
Es scheint * scheint * zu funktionieren, wie ich es will, aber diese parallele Build-Sachen hat eine Möglichkeit, das Verhalten auf der Grundlage der Systemlast oder von Maschine zu Maschine, etc. zu ändern –