GNUMakefile を grep2010年01月19日 04時26分17秒

GNU Makefile では include を用いて他のファイルを読み込むことが出来る。少々大きめの Makefile があると、何処でどの変数が設定されているのだか分らないときがある。

もちろん、コードを追えば良いのだが、たかが一行を探すだけで幾つものファイルを手作業で探すのは、大変だし時間の無駄だ。もちろん grep をすれば良いのだが、Makefile を再帰的に grep するのに少々コツがいる。

-d を gmake にわたし、その出力の中にファイル名が含まれている。nawk でそのファイル名を探し余計な文字列を削る。


% gmake -d 2>&1 | \
    nawk "/Reading makefile/{gsub(/[\`]|'.*/, \"\", \$3); print \$3}" | \
    xargs grep keyword

シングルクォートを削除しなければいけないので、nawk にわたすスクリプトはダブルクォートを用いなければいけない。そのため、文字列のエスケープが入るので若干読みづらくなる。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2010/01/19/4821708/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。