Использование make для кросс-платформенной компиляции

В настоящее время я разрабатываю проект C под Linux и Win32. «Поставляемый продукт» представляет собой общую библиотеку, и вся разработка выполняется под Linux с помощью цепочки инструментов GNU. Я использую Makefile для компиляции общей библиотеки.

Время от времени мне приходится собирать .dll под Win32 из того же источника.

Я установил MinGW на машину Win32, так что я могу использовать make и получать гораздоменьше жалоб от компилятора (по сравнению с MSVC). Я нахожусь на этапе, когда код src компилируется на обеих платформах

Но Makefile для Linux и Win32 отличаются.Мне любопытно, как лучше всего справиться с этим - должен ли я:

  1. иметь 2 make-файла, например. Makefile для Linux и Makefile.WIN32, а затем запустите make -f Makefile.WIN32в окне Windows

  2. Должен ли я создать другую цель в одном Makefile и сделать что-то вроде make WIN32] в окне Windows

  3. Должен ли я отказаться от make и использовать CMake (стоит ли сок для такого простого проекта, т.е. 1 общая библиотека)

20
задан tshepang 10 November 2014 в 12:09
поделиться