Хорошие люди в GnuWin32 имеют Gnu make , созданную для Windows как собственный двоичный файл. Он работает хорошо, но у него есть несколько незначительных особенностей из-за благих намерений, которые пытаются приравнять цель с именем foo
к файлу foo.exe
. Пакет GnuWin32 содержит хороший PDF-файл руководства, IIRC.
Я использую его в XP вместе с GCC из проекта MinGW , а также с несколькими различными встроенными системами кросс-компиляции. MinGW также предоставляет встроенную сборку Gnu Make.
Мы используем Cygwin для нескольких проектов, в частности, когда поставщик системы на кристалле предоставил полный рабочий инструментарий и среду сборки, размещенную в Cygwin. Перемещение его в собственную сборку в форме Windows будет непомерно дорогим и затруднит прием обновлений от поставщика.
Если вы хотите использовать в основном нативные инструменты Windows, но должны начать с запуска configure на существующем исходном комплекте, взгляните на MSYS. Это началось как ответвление Cygwin от разработчиков MinGW, и оно намеревается предоставить минимальный набор unix-подобных инструментов с оболочкой bash, так что configure можно использовать в Windows. Он не такой полный, как Cygwin, но он намного легче.
Вы обнаружите, что руководство по Gnu Make в основном соответствует действительности. Однако вы должны иметь в виду, что содержимое Makefile написано не на одном языке. Материал, который определяет переменные и выкладывает дерево зависимостей - это один язык. Каждая строка действия представляет собой миниатюрный сценарий оболочки на языке оболочки по умолчанию (это может быть CMD.EXE, а не / bin / sh в Windows), и каждая команда имеет параметры и аргументы.
Если вам комфортно в вашей среде * nix build, то Cygwin может оказаться на пути наименьшей боли. Но MSYS часто достаточно, и есть что сказать, чтобы принять нативные инструменты целевой платформы, чтобы у вас было представление о том, как ваши пользователи видят Windows, и в этом случае MinGW и GnuWin32 - полезные ресурсы, о которых нужно знать.