次: , 前: Tags, 上: Miscellaneous


17.2 新しいファイル拡張子の取り扱い

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