ビルド システムには長くて複雑な Makefile があります。特定の make 呼び出しに対してどのターゲットが実行されるかを正確に追跡する良い方法はありますか?
ベストアンサー1
使用make -d
またはmake --debug[=flags]
オプション:
‘-d’
通常の処理に加えてデバッグ情報を出力します。デバッグ情報には、どのファイルが再作成の対象になっているか、どのファイル時刻が比較され、その結果は何か、実際に再作成が必要なファイルはどれか、どの暗黙のルールが考慮され、どのルールが適用されるか、つまり make が何を行うかを決定する方法に関するすべての重要な情報。このオプションは(以下を参照)
-d
と同等です。‘--debug=a’
‘--debug[=options]’
通常の処理に加えてデバッグ情報を出力します。出力にはさまざまなレベルとタイプを選択できます。引数を指定しないと、「基本」レベルのデバッグが出力されます。指定可能な引数は以下のとおりです。最初の文字のみが考慮され、値はコンマまたはスペースで区切る必要があります。
a
(all) すべてのタイプのデバッグ出力が有効になります。これは '-d' を使用するのと同じです。
b
(基本)基本的なデバッグでは、古くなっていると判明した各ターゲットと、ビルドが成功したかどうかを出力します。
v
(詳細) ; より上のレベルには‘basic’
、解析された makefile や、再構築する必要がなかった前提条件などに関するメッセージが含まれます。このオプションは‘basic’
メッセージも有効にします。
i
(暗黙的) 各ターゲットの暗黙的ルール検索を説明するメッセージを出力します。このオプションは‘basic’
メッセージも有効にします。
j
(ジョブ) 特定のサブコマンドの呼び出しに関する詳細を示すメッセージを出力します。
m
(makefile) デフォルトでは、makefile の再作成中に上記のメッセージは有効になりません。このオプションは、makefile の再作成中にもメッセージを有効にします。このオプションは‘all’
このオプションを有効にすることに注意してください。このオプションも‘basic’
メッセージを有効にします。
もう一つの選択肢はリメイク- 改善されたエラー報告、実行のトレース機能、およびデバッガーを追加した GNU Make のパッチ バージョン。