Ich benutze ein langes Build-Skript, das viele Projekte kompiliert, und für die meisten Builds make
gibt es normalerweise make: Nothing to be done for 'all'
, was gut ist, weil ich nicht so viel Code auf jedem ändere bauen. Das Skript dauert jedoch immer noch sehr lange, da es autotools configure
Skript für jedes Projekt und einige andere Skripts aufruft.Überspringen von Konfigurationen von Projekten, die nicht kompiliert werden müssen
Ich habe irgendwo gelesen, dass Zeitstempel verwenden, um zu testen, ob es erstellt werden muss.
Gibt es eine Möglichkeit, Make zu fragen, ob es erstellt werden muss oder nicht, bevor das configure
Skript aufgerufen wird? Oder vielleicht eine andere Möglichkeit, die Neukonfiguration aller Projekte zu verhindern?
Wie genau wird 'configure' ausgeführt? Es klingt so, als ob es entweder nicht als Teil des Makefiles ausgeführt werden muss oder dass es eine Abhängigkeit haben sollte, um zu verhindern, dass es ausgeführt wird, wenn es nicht benötigt wird. – chepner
Sie haben Recht mit dem Konfigurationsskript. Es gibt jedoch andere Skripte, die ich gerne deaktivieren würde, wenn dieses Projekt nicht kompiliert werden muss. Bearbeitet die Frage – Nitay
Nun, das gleiche gilt. Es scheint, dass Ihr Makefile einige Dinge bedingungslos ausführt, denen wirklich Abhängigkeiten zugewiesen werden sollten, so dass 'make' weiß, wann sie nicht ausgeführt werden müssen. – chepner