Как заметил @pmr, вы действительно ищете систему сборки. Хотя GNU Autotools (Automake, Autoconf и т. Д.) Традиционно использовались, у этих инструментов много проблем, и у них невероятно крутая кривая обучения. Вместо этого я настоятельно рекомендую использовать CMake . CMake является своего рода системой мета-сборки в том смысле, что CMake генерирует проекты для различных систем сборки, используя описание проекта CMake; По умолчанию CMake генерирует проект Makefile из своего описания проекта, но также может создавать проекты для Visual Studio, Xcode, KDevelop и других. Вы можете найти шаблон проекта приложения C ++ и шаблон проекта библиотеки C ++ в качестве примеров использования системы сборки CMake. Учебные руководства и другие вводные материалы о CMake можно найти в CMake Wiki , а в Справочном руководстве CMake приведены подробные инструкции по всем различным командам, которые поддерживает CMake (вы, вероятно, найдете ADD_EXECUTABLE, ADD_LIBRARY, TARGET_LINK_LIBRARIES, INCLUDE_DIRECTORIES и LINK_DIRECTORIES, чтобы быть наиболее полезной из доступных команд). Кроме того, хотя я настоятельно рекомендую вам использовать CMake вместо Make, мой учебник по Makefile может оказаться полезным, если вы решите использовать Make.