НЕ СДАЧА --- Исправляем Makefile
ЭТО НЕ ПОПЫТКА СДАЧИ ЛАБЫ.
Если генерировать файл зависимости отдельным проходом с -M
, то у препроцессора недостаточно информации, чтобы сгенерировать имя цели для рецепта: он не знает, куда мы складываем объектные файлы. Он угадывает путь до объектного файла неправильно, и механизм транзитивных зависимостей не работает.
Можно избежать отдельного прохода с -MD
, что заодно исправит эту проблему. В таком случае имя файла зависимостей генерируется заменой расширения, а не добавлением, как сейчас; исправляем это с -MF
.