使用 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: