Операционная система UNIX. Руководство программиста

       

ИМЕНА SCCS-ФАЙЛОВ (ТИЛЬДА)


Синтаксис make'а не позволяет непосредственно ссылаться на префиксы имен файлов. Для большинства типов файлов в операционной системе UNIX это приемлемо, поскольку почти повсеместно для определения типа файлов используется суффикс. Исключение составляют SCCS-файлы. В этом случае s. является префиксом компонента имени файла в полном маршрутном имени.

Чтобы облегчить утилите make обращение с префиксом .s, в качестве признака SCCS-файлов используется символ ~ (тильда). Так, .c~.o обозначает правило, преобразующее исходный SCCS-файл на языке C в объектный файл. Именно, встроенное правило выглядит так:

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

Таким образом, тильда, добавленная к любому суффиксу, трансформирует поиск обычного файла в поиск SCCS-файла с суффиксом, состоящим из точки и всех символов первоначального суффикса вплоть до (но не включая) тильды.

Встроенными являются следующие суффиксы SCCS:

.c~ .f~ .y~ .l~ .s~ .sh~ .h~

Встроены также следующие правила трансформации SCCS-файлов:

.c~: .f~: .sh~: .c~.a: .c~.c: .c~.o: .f~.a: .f~.f: .f~.o: .s~.a: .s~.s: .s~.o: .y~.c: .y~.o: .l~.l: .l~.o: .h~.h:

Естественно, пользователь имеет возможность определить другие правила и суффиксы, которые кажутся ему полезными. Тильда обеспечивает необходимые средства для работы с именами SCCS-файлов.



Содержание раздела