カーネルソースを読むにあたって、タグファイルがないと関数やマクロの実態にすぐ飛べず、非常に時間がかかる。
以下のコマンドで、一気にタグファイルを作ってしまおう。終了後は、カレントディレクトリに TAGS というファイルが作成される。
ちなみに僕は emacs ユーザーなので以下の設定は全て emacs 用です。
$ find `pwd` -type f -name "*.[ch]" -o -name "*.[sS]" | sed -e 's/^/"/' -e 's/$/"/' | xargs /usr/bin/etags -a
$ ls -l TAGS
-rw-rw-r--. 1 ec2-user ec2-user 114715859 Jul 11 03:50 TAGS
また、マクロ定義されている関数にジャンプするため、以下のコマンドも実施
$ make TAGS
GEN TAGS
操作については、
- M-. タグジャンプ
- M-* ジャンプ元に戻る
- M-, 次の検索結果
- M-x list-tags 関数のリストを表示
などなど