[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

11. ドキュメントのビルド

現在Automakeは,Texinfoとman pageに対するサポートを提供します.

11.1 Texinfo  
11.2 manページ  Man pages


11.1 Texinfo

カレントディレクトリにTexinfoソースを含んでいる場合,`TEXINFOS'プ ライマリでそれを宣言する必要があります.通常,Texinfoファイルはinfoに 変換されるので,info_TEXINFOS変数が最も一般的に使用されます.す べてのTexinfoソースファイルは,`.texi',`.txi',または `.texinfo'の拡張子で終える必要があります.新しいマニュアルには, `.texi'を推奨します.

Automakeは,`.info',`.dvi',`.ps',`.pdf',そして `.html'ファイルを,Texinfoソースからビルドするルールを生成します. `.info'ファイルはmake allでビルドされ,make install でインストールされます(no-installinfoを使用していない場合に限り ます.以下を参照してください).それ以外のファイルは,make dvimake psmake pdf,そしてmake htmlでビルドを要求 することが可能です.

`.texi'ファイルが`version.texi'を@includeしている場 合,そのファイルが自動的に生成されます.ファイル`version.texi'は, 四つのTexinfoのフラグを定義し,それは@value{EDITION}@value{VERSION}@value{UPDATED},そして @value{UPDATED-MONTH}を使用することで参照可能です.

EDITION
VERSION
これらのフラグは両方とも,プログラムのバージョンナンバーです.それらは 明確さのために別々にしています.

UPDATED
これは,主要な`.texi'ファイルが最後に修正された日付を保持します.

UPDATED-MONTH
これは,主要な`.texi'ファイルが最後に修正された月名を保持します.

`version.texi'サポートには,mdate-shプログラムが必要です. このプログラムはAutomakeと一緒に供給されていて,automake--add-missingオプションで呼び出されるとき,自動的に含められます.

複数のTexinfoファイルがあり,`version.texi'の機能を使用したい場合, それぞれのTexinfoファイルに対し個別のバージョンファイルを持たせる必要 があります.Automakeは`vers*.texi'に一致したTexinfoファイル内に含 まれるものを,単純に自動的に生成されたバージョンファイルとして扱います.

infoファイルが,実際には一つ以上の`.texi'ファイルに依存する場合も あります.例えば,GNU Helloでは,`hello.texi'は`gpl.texi'ファ イルを含んでいます.texi_TEXINFOS変数を使用することでこれ らの依存性をAutomakeに伝えることが可能です.GNU Helloで用いた方法は, 以下のようになっています.

 
info_TEXINFOS = hello.texi
hello_TEXINFOS = gpl.texi

デフォルトでAutomakeは,ファイル`texinfo.tex'がTexinfoソースと同 じディレクトリに存在することを要求します(これは,TEXINFO_TEX変 数で変更することが可能です.以下を参照して下さい).しかし, `configure.ac'でAC_CONFIG_AUX_DIRを使用した場合 (see section `Finding `configure' Input' in The Autoconf Manual),`texinfo.tex'はそこで探されます.Automakeは, `--add-missing'が与えられている場合,`texinfo.tex'を供給しま す.

オプション`no-texinfo.tex'を,`texinfo.tex'を要求することを 止めるために使用することが可能です.しかし,変数TEXINFO_TEXの使 用は望ましく,それはdvips,そしてpdfターゲット を動作させることが可能だからです.

Automakeはinstall-infoルールを生成します.これを明示的に使用す る人もいます.デフォルトで,infoページは`make install'でインストー ルされます.これはno-installinfoオプションによって止めることが 可能です.

以下の変数はTexinfoのビルドルールで使用されます.

MAKEINFO
`.info'ファイルをビルドするために呼び出されるプログラム名です.こ の変数はAutomakeが定義します.makeinfoプログラムがシステムで見 つかった場合,デフォルトで使用されます.それ以外ではmissingが代 わりに使用されます.

MAKEINFOHTML
`.html'ファイルをビルドするために呼び出されるコマンドです. Automakeはこれを$(MAKEINFO) --htmlと定義します.

MAKEINFOFLAGS
$(MAKEINFO)$(MAKEINFOHTML)のそれぞれの呼び出しに渡すユー ザフラグです.このユーザ変数(see section 2.5 ユーザに対して予約されている変数)は`Makefile' で定義していることを期待していません.それはユーザが必要に応じて追加フ ラグを渡すことで使用することが可能です.

AM_MAKEINFOFLAGS
AM_MAKEINFOHTMLFLAGS
それぞれのmakeinfoの呼び出しで管理者が渡すフラグです.これらは `Makefile.am'で優先することが可能な管理者用の変数です. $(AM_MAKEINFOFLAGS)は`.info'ファイルをビルドするとき makeinfoに渡されます.そして,$(AM_MAKEINFOHTMLFLAGS)は `.html'ファイルをビルドするときmakeinfoに使用されます.

例えば以下の設定で,一つのマニュアルに付き,ノードで分離されていない単 一の`.html'ファイルを入手するために使用することが可能です.

 
AM_MAKEINFOHTMLFLAGS = --no-headers --no-split

デフォルトで,$(AM_MAKEINFOHTMLFLAGS)$(AM_MAKEINFOFLAGS)に設定されます.これは, $(AM_MAKEINFOHTMLFLAGS)を定義せずに$(AM_MAKEINFOFLAGS)を 定義すると`.info'と`.html'の両方のファイルが暗黙にビルドされ ることを意味します.

TEXI2DVI
`.texi'ファイルを`.dvi'ファイルに変換するコマンドの名前です. このデフォルトはtexi2dviで,Texinfoパッケージとともに配布されて います.

TEXI2PDF
`.texi'ファイルを`.pdf'ファイルに変換するコマンドの名前です. デフォルトは$(TEXI2DVI) --pdf --batchです.

DVIPS
`.dvi'ファイルから`.ps'ファイルをビルドするコマンドの名前で す.デフォルトはdvipsです.

TEXINFO_TEX

多くのディレクトリにTexinfoファイルがあるパッケージの場合,Automakeに パッケージに対して標準的な`texinfo.tex'が見つかる場所を伝える変数 TEXINFO_TEXを使用することが可能です.この変数の値は,現在の `Makefile.am'から`texinfo.tex'への相対的なパスにすべきです.

 
TEXINFO_TEX = ../doc/texinfo.tex


11.2 manページ

パッケージにmanページを含めることも可能です(しかし,この件に関しては, section `Man Pages' in The GNU Coding Standardsを参照してくだ さい).manページは`MANS'プライマリを使用して宣言します.一般に man_MANS変数を使用します.manページは,mandirの正しいサ ブディレクトリに,ファイル拡張子に基づいて自動的にインストールされます.

`.1c'のようなファイルの拡張子は,有効な拡張子を探すために処理され, mandirの正しいサブディレクトリを決定するために使用されます.有 効なセクション名は,10進数の`0'から`9'と,文字の`l'と `n'です.

開発者によっては,ソースファイルで`foo.man'のようなファイル名で manページを命名し,ファイルをインストールするときに,例えば `foo.1'のような正しい接尾子を持つものに名前を変更したい時もありま す.Automakeはこのモードもサポートします.有効なセクションに命名された SECTIONに対して,`manSECTIONdir'と命名されている対応 するディレクトリと,対応する`_MANS'変数があります.そのような変数 でリストアップされているファイルは,示されているセクションにインストー ルされます.ファイルに有効な接尾子が既についている場合,それはそのまま インストールされます.それ以外の場合,ファイルの接尾子はセクションに一 致するように変更されます.

例えば,以下のような例を考えます.

 
man1_MANS = rename.man thesame.1 alsothesame.1c

この場合は,`rename.man'はインストールする時に`rename.1'に名 前を変更され,他のファイルはその名前のままになります.

デフォルトで,manページは`make install'でインストールされます.し かし,GNUプロジェクトはmanページを必要としないので,多くの管理者はman ページを最新にしておきません.この場合,no-installmanオプション でman ページをデフォルトでインストールしないようにします.ユーザは `make install-man'によって,明示的にそれらをインストールすること ができます.

(Texinfoドキュメントとmanページの両方を含んでいる)GNUcpioでは, ドキュメントを以下のようにして処理しています.

 
man_MANS = cpio.1 mt.1
EXTRA_DIST = $(man_MANS)

manページは,現在ソースであると考慮されておらず,そのわけはmanページが 自動的に生成されることが珍しくないからです.このため,それらは自動的に 配布物に含められません.しかし,これは`dist_'接頭辞を使用すること で変更可能です.

`nobase_'接頭辞はmanページに対しては意味が無く利用できません.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on February, 25 2004 using texi2html