gz -d -c um.cpp.gz >um.cpp
.
g++ um.cpp -o um
Программу можно запускать прямо с места компиляции, но можно скопировать в /usr/bin или другую директорию из $PATH.
um [-опции...] цели... < скрипт
Скрипт сборки представляет набор правил, каждое из которых состоит из цели, требований и рецепта.
цель:[шаблон:] требования действия
Заголовок правила состоит из дух частей, разделённых двоеточием. Слева от двоеточия — цель или список целей, разделённых пробелами. Справа — список требуемых файлов. Например:
um.o: um.cpp
Шаблонное правило отличается от простого возможностью использовать подстановочный символ '%', значение которого зависит от цели. Для этого перед требованиями указывается шаблон вида начало%конец
, указывающий, что на место символа процента в списке требований и рецепте будет подставляться часть имени цели без указанных начальной и конечной части. Разумеется, при этом указанные части у всех целей должны совпадать.
foo.o bar.o baz.o:%.o:%.c
В данном примере для подстаноски используется часть названия цели без окончания .o
. Таким образом после подстановки требование будет foo.c, bar.c и baz.c для соответствующих целей. Точно также подстановка работает и в рецепте. При этом и в списке требований, и в рецепте символ подстановки может использоваться многократно.
Рецепты — это последовательности команд, которые необходимо выполнить для достижения цели. Рецепт записывается после заголовка правила. Каждая строка рецепта должна начинаться с символа горизонтальной табуляции (код 8, \t в си).
При сборке команды (после подстановки %) последовательно посылаются командному интерпретатору.
Сходства:
-k
, -B
, -q
, -t
, -n
работают аналогично.
Различия: