История изменений
Исправление slovazap, (текущая версия) :
то make не имеет права сам вписать себе в Makefile зависимость main.cpp -> file.h, даже если она существует в природе реально
С чего вы взяли? В классических Makefile была безусловная цель вызывающая gcc -M, которая генерировала .mk-инклуд с зависимостями. Не знаю уж как make это там переваривал - очевидно ему нужно было перечитать Makefile с инклудом после того как он появится. А CMake никто не мешает вызвать gcc -M самому и сразу сгенерить Makefile со всеми зависимостями. Хотя может у него и своя парсилка есть. Где - смотри в исходники.
Исходная версия slovazap, :
то make не имеет права сам вписать себе в Makefile зависимость main.cpp -> file.h, даже если она существует в природе реально
С чего вы взяли? В классических Makefile была безусловная цель вызывающая gcc -M, которая генерировала .mk-инклуд с зависимостями. Не знаю уж как make это там переваривал - очевидно ему нужно было перечитать Makefile с инклудом после того как он появится. А CMake никто не мешает вызвать gcc -M самому с сразу сгенерить Makefile со всеми зависимостями.