2017-11-13 15 views

答えて

0

忍者を使って規則で掃除することはできますが、忍者だけではどの規則が中間生成物を生成するかはわかりません。代わりに、我々はシェルスクリプトに頼らなければなりません:

grep "^rule.*\(_COMPILER_\|_STATIC_LIBRARY_\)" rules.ninja | \ 
    cut -d' ' -f2 | xargs -n1 ninja -t clean -r 

これは、オブジェクトファイルと静的ライブラリを生成し、それらのルールのrules.ninjaファイルをgrepする、その後、実際のクリーニングを行うために、各上ninja -t clean -r <rule>を呼び出します。 Windows上で同等の機能を用いて達成される:

FOR /f "tokens=2" %%R IN ('findstr "_COMPILER_ _STATIC_LIBRARY_" rules.ninja') DO (
    ninja -t clean -r %%~R 
) 

それは確かにハックですが、それは私たちにディスクスペースのかなりの量を節約し、文書化するので価値がある、私は思いました。

関連する問題