使用 make 命令来处理源代码控制系统 (SCCS) 文件

源代码控制系统 (SCCS) 命令和主要用来控制文件访问的文件系统跟踪谁改变了文件、为什么改变以及改变了什么。

SCCS 文件是使用 SCCS 命令控制的任何文本文件。 使用非 SCCS 命令编辑 SCCS 文件会损坏 SCCS 文件。

所有 SCCS 文件都使用前缀 以指示这些文件是 SCCS 文件而不是常规文本文件。 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~ Shell
.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: