Концепция make-файлов вполне логичная и соответствует выполняемым
задачам. Однако - устарела, не соответствует современным средствам
разработки. Есть классная статья, где эти проблемы описаны и
решены. Не все, но все-же... Я сам писал make-файлы только когда был студентом и баловался программированием на ассемблере под MS-DOS. Сейчас нет такой необходимости - тот-же Эклипс все делает сам. Но знать логику работы надо - иногда приходится разбираться с взглюкиваниями того-же Эклипса. Хотя всегда помогает радикальное средство - стереть все нафиг и перезапустить сборку проекта :-)
https://caxapa.ru/1143870.html