Введение в разработку приложений на платформе Atom/MeeGo для нетбуков и планшетников. Граничин О.Н - 28 стр.

UptoLike

28
Всю информацию о проекте make получает из Makefile,
который обычно хранится в том же каталоге, что и исходные тексты
программы. Простейший Makefile состоит из синтаксических
конструкций двух типов: целей и макроопределений.
Цели в Makefile - это файлы, которые предполагается получить
после компиляции проекта. Описание цели состоит из трех частей:
имени цели, списка зависимостей и списка команд интерпретатора
sh, требуемых для построения цели. Имя цели - непустой список
файлов, которые предполагается создать. Список зависимостей -
список файлов, из которых строится цель. Примером простого
Makefile может послужить уже упоминавшаяся программа prog:
prog: main.o supp.o
cc -o prog main.o supp.0
main.o supp.o defs.h
В рассмотренном Makefile одни и те же объектные файлы
перечисляются несколько раз. Для упрощения таких ситуаций make
поддерживает макроопределения.
Макроопределение представляет из себя пару
«переменная=значение ». Значение может являться произвольной
последовательностью символов, включая пробелы и обращения к
значениям уже определенных переменных. Теперь при обращении к
переменной-макроопределению в Makefile вместо нее будет
подставлено ее текущее значение. Обращение к значению
переменной при этом выглядит как $(переменная). Учитывая это,
перепишем наш Makefile:
OBJS = main.o supp.o
prog: $(OBJS)
cc -o prog $(OBJS)
$(OBJS): defs.h
Makefile пишется таким образом, чтобы запуск команды make
приводил к компиляции проекта. Но кроме компиляции Makefile
может использоваться и для других целей, например, для очистки
проекта от результатов компиляции или для вызова процедуры