doygenでmanpageを自動生成

コマンド類のドキュメントはdocbook+xsltで作成していたのですが、いまひとつ面倒なのでdoxygenメインに切り替えました。マシンの再セットアップ後はインストールすらしていなかったので改めて最新版をゲット。以前はビルドで苦労したのですがfixされているようです。manpageには関係ありませんが、htmlドキュメント作成もあり得るのでgraphvizもインストールしています。

doxygenの使い方は簡単で設定ファイルを作成し、コマンドを実行するだけ。デフォルト設定ファイル自体もdoxygenコマンドで作成できるので特に難しいことはありません。

doxygen -g

これでまず、設定ファイルを作成します。ファイル名を指定しなければカレントにDoxyfileファイルが作成されますので必要な箇所を適時修正します。manpageを作成するだけなら下の設定くらいでOK。

PROJECT_NAME
プロジェクト名称
OUTPUT_LANGUAGE
出力する言語。もちろん日本語
INPUT
ソースファイルのパス
FILE_PATERNS
対象とするファイルの拡張子フィルター
OUTPUT_DIRECTORY
出力ファイルのディレクトリ
GENERATE_MAN
manページを出力する
MAN_OUTPUT
manpageの出力先
MAN_EXTENSION
man pageのロケーション拡張子

設定ファイルはプロジェクト毎に作成してもいいのですが毎回作成するのも面倒なので、置換用プレースフォルダを置いて適当なところに保存し、必要なときは各パラメータを置換して使用します。XCodeのビルドフェーズ([追加]-[新規ビルドフェーズ]-[新規スクリプトを実行])に以下のようなスクリプトを仕込めば自動でmanpageを作成することができます。DOXYGEN とDOXYFILE_PATH はXcodeでユーザ定義環境変数として設定しておきます。

if ! [ -d $SOURCE_ROOT/doc/share/man/ ] ; then
  mkdir -p $SOURCE_ROOT/doc/share/man/
fi
sed -e s%##_PROJECT_NAME_##%$PRODUCT_NAME%g \
 -e s%##_OUTPUT_DIRECTORY_##%$SOURCE_ROOT/doc/share/man/%g \
 -e s%##_INPUT_##%$SOURCE_ROOT%g < $DOXYFILE_PATH/Doxyfile > $SOURCE_ROOT/doxy.conf
$DOXYGEN $SOURCE_ROOT/doxy.conf

autoconf+automake+docbook+xsltよりは楽ちん。もちろん、HTMLドキュメントも同様な手順で自動生成することができます。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/244

Comments


Apple Store(Japan)