私のビルドジョブメトリクスのより良いアイデアを得たいですが、残念ながらmake
はタイムスタンプそのものを出力しません。GNU Make - タイムスタンプの出力を最小限のメークファイル変更で追加する方法
私はmake --print-data-base
を実行する場合は、与えられた目標のためには、ライン
# Last modified 2016-08-15 13:53:16
を出力しますが、それは私に時間を与えるものではありません。各ターゲットを変更することなく、ターゲットを構築する時間を取得する方法は
QUESTION
ありますか?ビルド中に生成されるmakefileの中には、レシピを変更することができないものもあります。
POSSIBLE SOLUTION方法
私ができるimplement a pre- and post-recipe for every targetと出力のタイムスタンプ。
これは良い考えですが、これは並列make
ですか?明らかに、すべてのターゲットに対して事前レシピとポストレシピを呼び出すことからビルド時間が長くなるだろうが、それでも問題ないだろう。
'SHELL'は再帰的に展開される変数として再定義することができるので、' SHELL = my-script $ @ 'は目標名を渡すクリーンな方法です。また、 '.SHELLFLAGS'を空にすることはおそらく良い考えです。 –
あなたが退屈ならば、私は[offshoot question]を作った(http://stackoverflow.com/questions/39086951/gnu-make-parallel-how-to-record-idle-vs-active-time-for-a -ジョブ) – Adrian