Почему make работает с левой папкой, а не с текущей рабочей директорией?

Make — это одна из самых популярных утилит, используемых разработчиками для автоматизации сборки программных проектов. Она построена на концепции зависимостей и правил, которые описывают, какие файлы нужно обновить и какие команды нужно выполнить для построения целевых объектов.

Когда вы запускаете make, он обычно выполняется в текущей рабочей директории, то есть в той папке, где находится файл Makefile. Однако, make может работать и с другими папками, если вы явно указываете путь к Makefile при запуске командой «make -f path/to/Makefile» или если ваш Makefile содержит команды для перехода в другую папку.

Почему так происходит? Все дело в том, что make был разработан для того, чтобы быть гибким инструментом, который может легко использоваться для сборки проектов в разных папках. Это позволяет разработчикам создавать сложные проекты, состоящие из нескольких модулей, каждый из которых может находиться в своей отдельной папке.

Такой подход особенно полезен, когда проект состоит из множества файлов и зависимостей между ними. В этом случае, разделение проекта на модули позволяет упростить работу разработчикам и обеспечивает легкую масштабируемость проекта.