他のどこにも適さない少数の規則と変数があります.
etagsのインターフェースAutomakeは,GNU Emacsで使用する`TAGS'ファイルを生成するための規則を 生成する場合もあります.
C,C++,またはFortran 77のソースコードやヘッダが存在している場合,
tagsとTAGSターゲットがディレクトリに対して生成されます.
複数のディレクトリがあるパッケージのトップディレクトリで,tagsター
ゲットファイルは実行時に生成され,それは実行時に,サブディレクトリにある
すべての`TAGS'の参照を含んでいる`TAGS'ファイルを生成します.
変数ETAGS_ARGSが定義されている場合,tagsターゲットも生成さ
れます.この変数は,etagsが理解しないタグを使用しているソースを含
んでいるディレクトリでの使用を考慮しています.ユーザはetagsに追加
のフラグを渡すためにETAGSFLAGSを使用することが可能です.
`Makefile.am'でAM_ETAGSFLAGSを利用することもできます.
ソースとTexinfoファイルのノードに対するタグをAutomakeで生成する方法は以 下のようになります.
ETAGS_ARGS = automake.in --lang=none \ --regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
`ETAGS_ARGS'にファイル名を加える場合,おそらく
`TAGS_DEPENDENCIES'も設定したいでしょう.この変数の中身は
tagsターゲット対する依存性に直接追加されます.
Automakeは,@command{vi}形式の`tags'ファイルのビルドで使用される,
ctagsターゲットを生成します.変数CTAGSは,呼び出されるプロ
グラムの名前です(デフォルトは`ctags').CTAGSFLAGSは,ユーザ
が追加フラグを渡すために使用され,AM_CTAGSFLAGSは
`Makefile.am'で使用されます.
Automakeは,mkidをソース上で実行するIDターゲットも生成しま
す.これはディレクトリ単位に基づくサポートだけです.
AutomakeはGNU Global Tags
programもサポートします.GTAGSターゲットは,自動的にGlobal Tagを
実行し,結果をビルドディレクトリに書き込みます.変数GTAGS_ARGSは,
gtagsに渡す引数を保持しています.
Automakeが知らないファイル形式を処理するために,新しい暗黙の規則を導入す ることが役に立つこともあります.
例えば,`.foo'ファイルを`.o'ファイルにコンパイルするコンパイラ があると仮定します.その言語に対する接尾子規則を単純に定義するでしょう.
.foo.o:
foocc -c -o $@ $<
そして,`_SOURCES'変数で`.foo'ファイルを直接使用し,正しい結果 が期待されるでしょう.
bin_PROGRAMS = doit doit_SOURCES = doit.foo
これはより簡単で,より一般的な状況です.それ以外の状況では,定義している
サフィックス規則を,Automakeが理解する手助けが必要です.通常これは,拡張
子がドットで始まらないときに生じます.そのときにしなければならないことは,
暗黙の規則を定義する前に,新しい接尾子のリストをSUFFIXES
変数に書き込むことです.
例えば,以下の定義で,Automakeが`.idlC.cpp:'が`.idlC'を `.cpp'に変換してみるという誤解をしないようにします.
SUFFIXES = .idl C.cpp
.idlC.cpp:
# whatever
注意事項のように,SUFFIXES変数makeの.SUFFIXES特殊ター
ゲットのように動作します..SUFFIXESを独自にいじくるべきではなく,
その代わりにSUFFIXESを使用しAutomakeが.SUFFIXESに対する接
尾子リストを生成するようにすべきです.与えられた全てのSUFFIXESは
生成された接尾子リストの最初に書かれ,Automakeが生成するまだリストに無い
接尾子が続きます.
Automakeには,multilibと呼ばれているあまり知られていない機能のサポートが あります.multilibは,一度に複数の異なるABIに対してビルドされるラ イブラリです.毎回,ライブラリが異なるターゲットフラグの組み合わせでビル ドされます.これは,ライブラリがクロスコンパイルを目的としていて,コンパ イラがサポートしているライブラリに対して,ほとんど排他的に使用されるとき だけ役に立ちます.
multilibのサポートはまだ実験中です.multilibを理解していて,遭遇した問題 をデバッグすることが可能な場合のみ,それを使用してください.
Go to the first, previous, next, last section, table of contents.