メイクファイルを簡単に書けるようにするため、make はターゲットファイルの接尾辞に従って、独自のデフォルト規則を使用します。
デフォルトの規則は /usr/share/lib/make/make.rules というファイルに定義されています。デフォルトの接尾辞規則を認識すると、make は、FFLAGS マクロで指定されたすべてのフラグと、-c フラグ、コンパイルすべきソースファイルの名前を引数として渡します。また、make.rules では、 FC によって割り当てられた名前を、使用すべき Fortran コンパイラの名前として使用します。
次の例では、この規則を 2 回利用しています。
FC = f95 OBJ = pattern.o computepts.o startupcore.o FFLAGS=–u pattern: $(OBJ) f95 $(OBJ) -lcore95 -lcore -lsunwindow \ -lpixrect -o pattern pattern.o: pattern.f commonblock f95 $(FFLAGS) -c pattern.f computepts.o: computepts.f commonblock startupcore.o: startupcore.f |
make はデフォルトの規則を使用して、computepts.f と startupcore.f をコンパイルします。
.f90 ファイルには、f95 コンパイラを起動するデフォルトの接尾辞規則があります。
しかし、FC マクロを f95 として定義しないかぎり.f ファイルと .F ファイルのデフォルトの接尾辞規則は、f95 ではなく f77 を呼び出します。
また、.f95 ファイルおよび .F95 ファイルには、現在は接尾辞規則が存在しません。.mod Fortran 95 モジュールファイルはモジュールコンパイラを起動します。これに対処するには、make が呼び出されるディレクトリに make.rules ファイルをコピーします。このコピーを変更して、.f95 と .F95 の接尾辞規則を追加し、.mod の接尾辞規則を削除します。詳細は、make(1S) のマニュアルページを参照してください。