Либо я сегодня плохо работаю с Google, либо это что-то нетривиальное.
У меня есть приложение, над которым я работаю для системы Windows, выполняя кросс-компиляцию из Linux, потому что (а) мне нужен C99, а бесплатные инструменты Microsoft для целевой системы его не поддерживают, и (б) я использую UNIX почти Все равно 30 лет, и это мой "дом". Переход на стек MSVC с «родной» сборкой не подходит для меня, равно как и запуск системы сборки GNU в Windows (это занимает вечно).
Проблема в том, что мне нужен единый инструмент, созданный для компилируемой системы, а не для цели; Затем мне нужно запустить этот исполняемый файл, который создаст несколько исходных файлов .c и заголовков .h, которые затем позволят проекту скомпилироваться. Я использую так называемую "систему сборки GNU" (то есть автоинструменты, включая autoconf/automake/libtool).
Любой рецепт, который я напишу, независимо от того, настроен ли я для i686-w64-mingw32
или x86_64-w64-mingw32
, скомпилирует все DLL и EXE для платформы Win32/Win64.
Есть способ, с помощью которого я могу форсировать проблему, создав вручную стандартные рецепты Makefile, но я пытался найти «родной для autotools» способ компиляции и запуска исполняемых файлов времени сборки, которые не являются, например, модульные тесты, но генераторы исходного кода.
Есть какие-нибудь идеи, кроме ручного изготовления рецептов Makefile?
ETA: Кроме того, проект является кроссплатформенным: имеет смысл скомпилировать его и для Linux, поэтому любое решение должно работать так же хорошо, когда не кросс-компиляция.