DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
make

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