プログラミングユーティリティ

接尾辞および変換の規則

make は、内部の規則テーブルを使用して、ある接尾辞を持つファイルを別の接尾辞を持つファイルに変換する方法を特定します。-r フラグが make コマンド行で使用されている場合は、内部の規則テーブルは使用されません。

接尾辞のリストは、実際には .SUFFIXES という名前の依存関係リストです。make は、リストに含まれるいずれかの接尾辞を持つファイルを検索します。ファイルが見つかった場合は、make はそのファイルを別の接尾辞のファイルに変換します。変換規則の名前は、変換前と変換後の接尾辞を連結したものになります。したがって、.r ファイルを .o ファイルに変換する規則の名前は .r.o になります。規則があり、コマンドが記述ファイルで明示的に記述されていない場合は、.r.o の規則のコマンドが使用されます。コマンドがいずれかの接尾辞の規則を使用して生成される場合は、作成されるファイル名のベース名 (ファイル名から接尾辞を除いたもの) が $* マクロに割り当てられます。また、$< マクロは、変換の原因となった依存ファイルの名前になります。

接尾辞のリストは左から右に検査されるため、リストの順序は重要です。ファイルおよび対応する規則の両方を持つ最初の名前が使用されます。新しい名前を追加する場合は、.SUFFIXES のエントリを記述ファイルに追加します。依存関係は、通常のリストに追加されます。

依存関係を指定しない .SUFFIXES 行によって、現在の接尾辞リストを削除できます。名前の順序を変更する場合は、現在のリストを削除する必要があります。