Makefile 合并生成文件,来自非递归生成文件

Makefile 合并生成文件,来自非递归生成文件,makefile,Makefile,我们有一个支持多个目标(MCU)和项目配置的项目,它非常复杂(因为项目配置非常复杂,有时甚至包括的makefile的位置是根据makefile的参数选择的)。我正在为单元测试添加一个新的目标,这对于所有目标和项目配置来说都很常见,我遇到了一些问题 是否有任何方法可以获得包含所有makefiles的最终整合makefile,比如makefiles的预处理器 如果您使用的是GNU Make,请尝试运行Make-p并检查输出。这将是一个很大的问题,它不是你想要的,但可能会有帮助。你能使用:SUBMAK

我们有一个支持多个目标(MCU)和项目配置的项目,它非常复杂(因为项目配置非常复杂,有时甚至包括的makefile的位置是根据makefile的参数选择的)。我正在为单元测试添加一个新的目标,这对于所有目标和项目配置来说都很常见,我遇到了一些问题


是否有任何方法可以获得包含所有makefiles的最终整合makefile,比如makefiles的预处理器

如果您使用的是GNU Make,请尝试运行
Make-p
并检查输出。这将是一个很大的问题,它不是你想要的,但可能会有帮助。

你能使用:
SUBMAKEFILE=somename.mk
include${SUBMAKEFILE}
机制,所以要包含的makefile的名称是通过宏定义的吗?你问的问题的答案是“是的,有办法”。你的问题的答案是“在你提供更具体的信息之前,我们不知道如何集成,因为集成两个Makefile通常并不简单”。我的问题不是手动集成两个Makefile一次。它适用于每个构建,必须在没有用户干预的情况下进行。其思想是获取预处理的makefile,并使用sed更改其中的几个变量,然后运行它。是的,我理解。我的观点是,你所要求的并不容易。如果所有的makefile都是相似的,那么也许有一种简单的方法可以做到这一点。如果它们不相似,那么最简单的方法可能是手工使它们相似,然后写一些可以自动集成它们的东西。