やや大規模なソフトウェア プロジェクトの scons を使用してビルド システムの実装に取り組んでいます。個々のライブラリとプログラムのコードを独自のディレクトリに分離するディレクトリ構造があります。私たちの既存のメイク システムでは、単一のプログラム ディレクトリで "クリーンにする" ことができ、そのディレクトリ内のソースに関連付けられたファイルのみをクリーンアップします。ただし、「scons -c」を実行すると、プログラムが兄弟(またはいとこ)のディレクトリにある多数のライブラリに依存していることを認識し、それらのすべてのファイルも消去します。これらのライブラリをすべて再構築する必要があり、これには数分かかることがあるため、これは私が望んでいることではありません。
「NoClean()」コマンドで遊んでみましたが、必要な方法で動作しませんでした。コード ベースのサイズとディレクトリ構造の複雑さを考えると、すべてのライブラリのすべてのファイルに NoClean() 行を配置することは現実的に不可能です。
クリーンを実行するときに、現在のディレクトリより上の依存関係を無視するようにsconsに指示する方法はありますか(つまり、scons -c)?