ИМЕНА 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-файлов.