ソース・コード制御システム・ファイルでの make コマンドの使用

ソース・コード制御システム (SCCS) のコマンドとファイルシステムは、主にファイルへのアクセスの制御、ファイルを変更した人、変更された理由、および変更されたものをトラッキングするために使用されます。

SCCS ファイルは、SCCS コマンドによって制御される任意のテキスト・ファイルです。 SCCS ファイルの編集に SCCS 以外のコマンドを使用すると、SCCS ファイルが壊れる場合があります。

すべての SCCS ファイルは、通常のテキスト・ファイルではなく SCCS ファイルであることを示すために、 接頭部 s. を使用しています。 make コマンドは、 ファイル名の接頭部に対する参照を認識できません。 したがって、make コマンドの記述ファイルの中で、SCCS ファイルを直接参照しないでください。 make プログラムは、SCCS ファイルを表すために異なる接尾部、~ (ティルド) を使用します。 そのため、.c~.o は、SCCS C 言語ソース・ファイルをオブジェクト・ファイルに変換する規則を参照します。 内部規則は、次のとおりです。

.c~.o:
         $(GET) $(GFLAGS) -p  $<  >$*.c
         $(CC) $(CFLAGS) -c $*.c
         -rm -f $*.c

~ (ティルド) を任意の接尾部に追加すると、ファイル検索が SCCS ファイル名検索に変わり、実際の接尾部の名前は . (ピリオド) と ~ (ティルド) までのすべての文字 (ただし、ティルドは含まない) になります。GFLAGS マクロは、 使用する SCCS ファイルのバージョンを判別するためのフラグを SCCS に渡します。

make コマンドは、次に示す SCCS 接尾部を認識できます。

接尾部 説明
.C¥~ C++ ソース
.c~ c ソース
.y~ yacc ソース文法
.s~ アセンブラー・ソース
.sh~ シェル
.h~ ヘッダー
.f~ FORTRAN
.l~ lex ソース

make コマンドには、 次の SCCS ファイルを変更するための内部規則があります。

.C¥~.a:
.C¥~.c:
.C¥~.o:
.c~:
.c~.a:
.c~.c:
.c~.o:
.f~:
.f~.a:
.f~.o:
.f~.f:
.h~.h:
.l~.o:
.s~.a:
.sh~:
.s~.o:
.y~.c:
.y~.o: