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が生成するまだリストに無い接尾子が続きます.