9. Makefile - デバッグ

 
9.1 make を実行するときのオプション
9.2 -n (--just-print)
9.3 -p (--print-data-base)
9.4 --warn-undefined-variables

9.1 make を実行するときのオプション

 Makefile を記述して、make をかけると、思うような動作をしなかったり、プログラムのソースの問題でなくエラーで停止することがあります。  そういう目にあうのはわたしが至らないだけではありますが、同じような思いをする人がいるのでしょう。  make には、デバッグといっていいオプションがります。

9.2 -n (--just-print)


> make -n
 -n、ロングオプションで --just-print を指定すると、make を実行しないで、実行すると動作するであろうコマンドを表示のみしてくれます。

9.3 -p (--print-data-base)


> make -p
 -p、ロングオプションで --print-data-base を指定すると、make を実行したあと、make に使用したデータベースの内容を表示します。  変数、ディレクトリ、暗黙ルール、パターンに固有の変数、ファイル(明示的ルール)、検索パスが表示されます。  恐ろしく大量に出るのでこの中から問題を見つけるのはかなり困難です。

9.4 --warn-undefined-variables


> make --warn-undefined-variables
 これはショートオプションが用意されていないので、後になってできたオプションかもしれません。  わたしはこれが一番役に立ちます。

[Makefile]のファイル名:行番号: 警告: 未定義の変数 '変数名'
 の形式で使用の有無を問いませんが、未定義の変数を出力してくれます。  うっかり変数名を間違えたり、定義していたつもりが出意義で来ていなかったなど、大変有用な情報かと思います。