Не используйте make, используйте кроссплатформенный инструмент, такой как cmake, он позаботится о генерации платформы для вас. Как и в Windows, он будет генерировать файлы проекта для использования Visual Studio; в Linux он создаст файлы GNU make для вас. Вы можете настроить его, чтобы найти правильные версии нужных библиотек и всего остального. Cmake великолепен.
CMake - это не компилятор (и не make) - это кроссплатформенная система автоматизации сборки. Он позволяет вам работать на любой платформе и по умолчанию предполагает, что вы разрабатываете для платформы, на которой вы работаете. Вы можете указать параметры, если вы хотите сделать другие вещи. Тем не менее, большая часть "кроссплатформенного" материала все еще остается в вашем коде. Я бы также порекомендовал библиотеку, которая была протестирована на многих платформах, например Boost . Использование Boost может помочь обеспечить бесперебойную работу всего кода в любой системе, и использование его практически не требует дополнительных затрат.