Tildes in SCCS filenames
Files under SCCS control have the prefix s. followed by the
filename.
However, the syntax of make does not directly
permit referencing of prefixes.
The SCCS files are the exception to this. To allow
make to access the prefix s. the suffix rules use
tildes (~) to identify SCCS files.
For example, the default suffix rule describes how to transform
a C language source file under SCCS control into
an object file:
.c~.o:
$(GET) $(GFLAGS) $<
$(CC) $(CFLAGS) -c $.c
-rm -f $.c
The tilde appended to any suffix transforms the
file search into an SCCS file name search with the actual suffix
named by the dot and all characters up to (but not including) the tilde.
NOTE:
makefile or Makefiles files under SCCS control
are accessible to make.
That is, if make is run and
only a file named
s.makefile or s.Makefile exists, make
does a get on the file, then reads and removes the file.
The following SCCS suffixes
and rules involving SCCS transformations
are internally defined:
.c~:-
transform SCCS C source file to executable file
.c~.a:-
transform SCCS C source file to library (archive) file
.c~.c:-
transform SCCS C source file to C source file
.c~.o:-
transform SCCS C source file to object file
.y~.c:-
transform SCCS yacc source file to C source file
.y~.o:-
transform SCCS yacc source file to object file
.y~.y:-
transform SCCS yacc source file to yacc source file
.l~.c:-
transform SCCS lex source file to C source file
.l~.l:-
transform SCCS lex source file to lex source file
.l~.o:-
transform SCCS lex source file to object file
.s~:-
transform SCCS assembler source file to executable file
.s~.a:-
transform SCCS assembler source file to library (archive) file
.s~.s:-
transform SCCS assembler source file to assembler source file
.s~.o:-
transform SCCS assembler source file to object file
.sh~:-
transform SCCS shell file to executable file
.sh~.sh:-
transform SCCS shell file to shell file
.h~.h:-
transform SCCS C header file to C header file
.f~:-
transform SCCS Fortran source file to executable file
.f~.a:-
transform SCCS Fortran source file to library (archive) file
.f~.f:-
transform SCCS Fortran source file to Fortran source file
.f~.o:-
transform SCCS Fortran source file to object file
.C~:-
transform SCCS C++ source file to executable file
.C~.C:-
transform SCCS C++ source file to C++ source file
.C~.a:-
transform SCCS C++ source file to library (archive) file
.C~.o:-
transform SCCS C++ source file to object file
.Y~.C:-
transform SCCS yacc/C++ source file to C++ source file
.Y~.o:-
transform SCCS yacc/C++ source file to object file
.Y~.Y:-
transform SCCS yacc/C++ source file to yacc/C++ source file
.L~.C:-
transform SCCS lex/C++ source file to C++ source file
.L~.o:-
transform SCCS lex/C++ source file to object file
.L~.L:-
transform SCCS lex/C++ source file to lex/C++ source file
Obviously, the user can define other rules and suffixes,
which may prove useful.
The tilde provides a handle on
the SCCS filename format so that this is possible.
Next topic:
The null suffix
Previous topic:
Archive libraries
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003