Вы всегда должны пытаться понять систему сборки, которую вы используете.
Это не обязательно означает, что вы должны иметь возможность создавать все файлы сборки вручную. Важной частью является понимание того, что система сборки делает для вашего проекта, и общая возможность компилировать небольшие проекты вручную (как в «наборе команд на терминале»).
Я просто склонен думать, что создание (простых) Make-файлов - самый простой шаг, чтобы понять, что происходит, но у вас могут быть другие способы понять, как создавать вещи.
Почему / когда изучать Makefiles
Если вы продолжаете программировать только для Windows и не ожидаете, что кто-то другой скомпилирует ваш код, смело компилируйте код так, как вам нравится.
Если вы хотите запрограммировать независимость от компилятора (например, «пусть другие решают, какой компилятор или IDE они хотят использовать»), вам следует изучить другую систему сборки, а не просто позволить вашей IDE «справиться с этим».
Если вы хотите программировать для разных платформ, вам, безусловно, нужно использовать широко распространенную систему сборки.
Это по-прежнему не означает, что вы должны знать, как автоматически сгенерированные Make-файлы работают в деталях. Вам просто нужно знать, как работают входные файлы для системы сборки. У них просто бывает похожий синтаксис.
Мне лично очень нравятся Makefiles, и я использую их для многих вещей. Не только компиляция кода. Я создаю Makefile для каждого большего PDF-файла, который я создаю (с LaTeX), и для каждого проекта, в котором мне нужно автоматизировать пару задач (сборка, упаковка, выгрузка, обновление зависимостей из исходных репозиториев, резервное копирование вручную / извлечение)
Тем не менее, я много работаю на терминале и работаю с Linux. Я не использую то, что вы бы назвали IDE, кроме vim (мощный текстовый редактор) и консольных инструментов. Это может сильно отличаться для вас.
Если вы когда-либо жаловались на необходимость запуска различных повторяющихся команд просто для «обновления» / package / upload / .. «проекта», то изучение написания Makefiles может оказаться для вас полезным.
Если у вас есть и вы используете инструменты / GUI / IDE для всего, то вы можете ничего не получить от этих знаний.