Utilisation de la commande make avec les fichiers du système de contrôle du code source

Les commandes du système de contrôle du code source (SCCS) et le système de fichiers sont principalement utilisés pour contrôler l'accès à un fichier, déterminer qui a modifié le fichier, pourquoi il a été modifié et ce qui a été modifié.

Un fichier SCCS est un fichier texte contrôlé à l'aide de commandes SCCS. L'utilisation de commandes non SCCS pour éditer des fichiers SCCS peut endommager les fichiers SCCS.

Tous les fichiers SCCS utilisent le préfixe s. pour indiquer que les fichiers sont des fichiers SCCS et non des fichiers texte ordinaires. La commande make ne reconnaît pas les références aux préfixes des noms de fichier. Par conséquent, ne faites pas référence aux fichiers SCCS directement dans le fichier de description de la commande make . La commande make utilise un suffixe différent, le ~ (tilde), pour représenter les fichiers SCCS. Par conséquent, .c~.o fait référence à la règle qui transforme un fichier source en langage SCCS C en fichier objet. La règle interne est:

.c~.o:
         $(GET) $(GFLAGS) -p  $<  >$*.c
         $(CC) $(CFLAGS) -c $*.c
         -rm -f $*.c

Le ~ (tilde) ajouté à n'importe quel suffixe modifie la recherche de fichier en une recherche de nom de fichier SCCS, avec le suffixe réel nommé par le. (point) et tous les caractères jusqu'à (mais non compris) le ~ (tilde). La macro GFLAGS transmet des indicateurs au SCCS pour déterminer la version de fichier SCCS à utiliser.

La commande make reconnaît les suffixes SCCS suivants:

Suffixe Descriptif
:C\ ~ Source C++
.c ~ Source c
.y ~ Grammaire source yacc
.s ~ Source assembleur
.sh ~ Shell
.h ~ En-tête
.f ~ Fortran
.l ~ Source lex

La commande make comporte des règles internes permettant de modifier les fichiers SCCS suivants:

.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: