scons verwendet MD5-Hashwerte anstelle von Dateimod-Zeiten, um festzustellen, ob eine Abhängigkeit erstellt werden muss.äquivalent von "touch" in scons?
Ich möchte, dass dies das Standardverhalten ist. Aber gibt es eine Möglichkeit, es zu zwingen, anzunehmen, dass eine bestimmte Datei veraltet ist (das Äquivalent von "Berührung"), neben der Bearbeitung der Datei, um sie anders zu machen?
edit: Use Case:
Binärdatei F wird verwendet, G eine andere Datei G mit einem Werkzeug X. Aus irgendeinem Grund-Datei zu erstellen hat sich geändert (es wurde beschädigt, oder ich bearbeitet es) oder Werkzeug X hat sich geändert, und ich möchte Datei G und alles stromabwärts davon neu erstellen.
bearbeiten: Dies ist nur für den gelegentlichen Gebrauch. Ich möchte nicht, dass das immer passiert, nur wenn ich darum bitteste bin. Auch kann ich die bestimmte Datei im Voraus nicht wissen. Aus diesem Grund möchte ich die SConscript/SConstruct-Dateien nicht modifizieren, um eine bestimmte Datei zu erstellen. Was ich möchte, ist dies an einer Eingabeaufforderung zu tun:
scons {something to specify file foobar.h}
und das würde scons zwingen, alle Dateien je nach foobar.h zu bauen, während nur scons
Eingabe des regulären Build tun würde MD5-Hashes für Abhängigkeitsprüfung . Es macht mir nichts aus, die SConscript/SConstruct-Dateien im Voraus zu bearbeiten, um dies zu ermöglichen (ich denke, dass es sich um einen benutzerdefinierten Decider handelt), wenn es eine Möglichkeit gibt, die Build-Zeiten nicht wesentlich zu erhöhen.
huh, ich wusste nie über --interaktiv, das wird mir einige Zeit mit wiederholten Builds ersparen. Vielen Dank! Ich denke, ich kann es für das verwenden, was ich auch wollte. –
Beachten Sie, dass Sie, wenn Sie wirklich neue Aufrufe für Kompilierungen auslösen möchten, scons '--interactive --no-cache' verwenden müssen, da der interaktive Befehl' build' nur aus dem Cache auswählt und Sie nicht den Compiler ausführt. –