Frage

scons verwendet MD5-Hashes anstatt mod mal-Datei, um zu bestimmen, ob eine Abhängigkeit gebaut werden muss.

Ich mag dies das Standardverhalten sein. Aber gibt es eine Möglichkeit, es zu zwingen, eine bestimmte Datei nicht mehr aktuell anzunehmen ist (das Äquivalent von „touch“), neben der Bearbeitung der Datei, um es anders zu machen?

Bearbeiten Anwendungsfall:

Binärdatei F wird verwendet, eine andere Datei G mit einem Werkzeug X. Aus irgendeinem Grund-Datei erstellen G geändert hat (es wurde beschädigt, oder ich bearbeitet es) oder Werkzeug X hat sich geändert, und ich möchte Datei G und alles neu nachgeschaltet ist.

Bearbeiten Dies ist nur für den gelegentlichen Gebrauch. Ich will nicht, dies immer nur die paar Male passiert, wenn ich danach fragen. Ich kann auch nicht wissen, die bestimmte Datei vor der Zeit. Aus diesem Grund möchte ich nicht die SConscript / SConstruct Dateien ändern, 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 zu bauen foobar.h abhängig, während nur die Eingabe scons den regulären Build tun würde, mit MD5 für Abhängigkeitsprüfung Hashes. Ich kümmere mich nicht Bearbeitung der SConscript / SConstruct Dateien vor der Zeit dieses zu ermöglichen (custom Decider, glaube ich), wenn es eine Möglichkeit, dies zu tun, dass nicht wesentlich erhöht die Bauzeiten.

War es hilfreich?

Lösung

Haben Sie einen einen Blick auf die --interactive Möglichkeit Scons hatte, dort können Sie reinigen und spezifische Ziele bauen.

Manpage beschreibt dies.

Andere Tipps

In Ihrer SConstruct Datei, um den Knoten extrahieren, die Ihre Datei darstellt. Danach sollten Sie in der Lage sein, die Node.always_build (true) verwenden , um sicherzustellen, dass es gebaut wird, ich denke, das seine Familienangehörigen auch wieder aufgebaut werden zwingen wird.

scroll top