Составители:
24
В начале файла производится определение некоторых переменных,
которые в дальнейшем участвуют в макроподстановках в форме $(value).
Далее определяются дополнительные пути incl и libs для поиска файлов-
заголовков (header files) и библиотек объектных модулей. Определяются
исходные модули, используемые для создания программы (SRCS), и явное
правило преобразования исходных модулей в объектные (OBJS). Затем
следует основная цель $(PROGR), в которой определено правило сборки
исполнимой программы, и дополнительные цели .с.о:, определяющая
процесс преобразования исходных файлов на языке С в объектные, и remove:,
предназначенная для удаления всех вновь образованных файлов, включая и
core-файл, образующийся при неправильном завершении основной
программы.
В задании используется стандартный динамический макрос $< ,
обозначающий имена связанных файлов, выбираемых на основе неявных
правил. Другими словами, подставляются имена измененных после
предыдущей сборки исходных файлов из набора SRCS.
Следует отметить, что при вызове утилиты make все исходные файлы
должны находиться в текущей директории или быть определены явно с
помощью путевого имени. Первое предпочтительнее, поскольку упрощает
задание и предотвращает “расплывание” связанных программных
компонентов по файловой системе. Такая практика позволяет более
эффективно управлять проектом. Это не касается библиотек и файлов-
заголовков к ним, которые в соответствие с системными соглашениями
желательно помещать в домашнем каталоге в ~/lib и ~/include соответственно.
В тех случаях, когда необходимо исполнить лишь часть задания (отдельную
цель), то ее нужно явно указывать утилите в командной строке при вызове.
При наличии makefile с другим именем необходимо использовать флажок -f,
например:
$make –f имя_задания или
$make –f цель или
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »