Почему?
Поскольку это и есть цель создания файла Make.
Если конкретный исходный файл изменен, то все зависимые файлы должны быть перекомпилированы с измененным файлом, чтобы всеиз зависимых файлов ссылаются на один и тот же источник, и вся база кода синхронизируется.
Как?
make
Утилита проверяет временные метки, чтобы проверить, какие файлы были изменены.файл создан. Необходимо указать правила зависимости , которые явно сообщают утилите, какие другие файлы зависят от конкретного файла.Поэтому, используя эти правила, Make также компилирует все зависимые файлы, чтобы сгенерированные двоичные файлы ссылались на тот же обновленный код.