make の構文では、接頭辞を直接参照できません。オペレーティングシステム上のほとんどの種類のファイルにおいて、ほぼすべてのユーザーがファイルを識別するために接尾辞を使用するため、問題はありません。SCCS ファイルは例外で、完全なパス名のファイル名部分の先頭に s. が付きます。
make が接頭辞 s. に簡単にアクセスできるようにするため、‾ 記号が SCCS ファイルの識別子として使用されます。したがって、.c‾.o は、SCCS C ソースファイルをオブジェクトファイルに変換する規則を示します。厳密には、内部の規則は以下のようになっています。
$(GET) $(GFLAGS) $< $(CC) $(CFLAGS) -c $*.c rm -f $*.c
したがって、接尾辞に付けられた ‾ は、ドットからチルド記号の直前の文字までが示す実際の接尾辞を持つ SCCS ファイル名を検索します。
以下の SCCS 接尾辞が内部定義されています。
.c‾ | .sh‾ | .C‾ |
.y‾ | .h‾ | .Y‾ |
.l‾ | .f‾ | .L‾ |
.s‾ |
SCCS の変換について、以下の規則が内部定義されています。
.c‾: | .s‾.s: | .c‾: |
.c‾.c: | .s‾.a: | .C‾.C: |
.c‾.a: | .s‾.o: | .C‾.a: |
.c‾.o: | .sh‾: | .C‾.o: |
.y‾.c: | .sh‾.sh: | .Y‾.C: |
.y‾.o: | .h‾.h: | .Y‾.o: |
.y‾.y: | .f‾: | .Y‾.Y: |
.l‾.c | .f‾.f: | .L‾.C: |
.l‾.o: | .f‾.a: | .L‾.o: |
.l‾.l: | .f‾.o: | .L‾.L: |
.s,: |
ユーザーは、このほかの規則および接尾辞を任意に定義できます。‾ は、SCCS ファイル名の形式を示します。