Учебники

Определение зависимостей в Makefile

Очень часто конечный двоичный файл будет зависеть от различных исходных кодов и исходных файлов заголовков. Зависимости важны, потому что они позволяют узнать об источнике для любой цели. Рассмотрим следующий пример —

hello: main.o factorial.o hello.o
   $(CC) main.o factorial.o hello.o -o hello

Здесь мы говорим make, что hello зависит от файлов main.o, factorial.o и hello.o. Следовательно, всякий раз, когда происходит изменение в любом из этих объектных файлов, make будет действовать.

В то же время нам нужно указать make как подготовить файлы .o. Следовательно, мы должны определить эти зависимости также следующим образом: