我今天要么在谷歌上惨遭失败,要么就是非常重要的事情 .

我有一个应用程序,我正在为Windows系统工作,从Linux交叉编译,因为(a)我需要C99和Microsoft 's free tools for the target system does not support it and (b) I'已经使用UNIX近30年了,那是我的"home" . 使用"native"构建更改为MSVC堆栈不是我的选择,也不是在Windows上运行GNU构建系统(需要 forever ) .

问题是我需要构建一个单独的工具 for the system being compiled on 而不是目标;然后我需要运行该可执行文件,它将生成几个.c源文件和.h标头,然后启用项目进行编译 . 我正在使用所谓的"GNU Build System"(即autotools,包括autoconf / automake / libtool) .

无论我是否配置 i686-w64-mingw32x86_64-w64-mingw32 ,我编写的任何配方都将编译Win32 / Win64平台的所有DLL和EXE .

有一种方法可以通过手工制作标准的Makefile recipes来强制解决问题,但我试图找到一种编译和运行构建时可执行文件的方法,这些方法不是单元测试,而是源代码生成器 .

任何想法,缺乏手工制作Makefile食谱?

ETA: 此外,该项目是跨平台的:它也适用于Linux本地编译这个项目,所以任何解决方案都需要在不进行交叉编译时也能正常工作 .