Я бы использовал обычную make, но постараюсь максимально упростить правила по умолчанию.По мере продвижения добавляйте зависимости.
РЕДАКТИРОВАТЬ: Как и на промежуточном этапе, создайте его с помощью mingw, чтобы избежать проблем с переносом всего API, пока у вас не будет рабочей сборки в новоймеханизм сборки.
Если ваше консольное приложение вызывает функции Win32 API, у вас есть выбор между изменением всего источника, в котором он используется, или написанием модуля, реализующего эти функции.
В предыдущих работах по переносутакого типа я пробовал в обоих направлениях, а последнее было проще.В итоге я написал только около 18-20 функций shim.
Это было достаточно успешно, и я закончил тем, что написал слой абстракции ОС, который использовался во многих проектах, который просто позволял мне компилироваться на родном Windows, cygwin, Linux,VxWorks и т. Д. С тривиальными изменениями в одном или двух файлах.
(ps. Любой интерес к версии с открытым исходным кодом уровня абстракции ОС на основе C ++? Я думал о выпуске необремененной версии этого мира, еслиесть достаточный интерес. Это в основном полезно, когда BOOST слишком тяжелый - то есть встроенные проекты.)