C++ 展开makefile

C++ 展开makefile,c++,makefile,gnu-make,C++,Makefile,Gnu Make,我有一个巨大的项目,通过include使用了许多makefile。在某一点上,宏设置正确,但在另一点上,当我希望能够使用它时,它不再被定义 基本上,我为我的项目运行一个本地makefile,它包括一个用于我使用的openFrameworks框架的全局makefile。这一个包括其他makesfiles,具体取决于我的项目所依赖的平台,等等 我希望有一个类似于cpp的命令,但用于makefile,这样我就可以看到在所有include和宏都已展开的情况下的情况 我尝试过使用remake-X来调试它,

我有一个巨大的项目,通过include使用了许多makefile。在某一点上,宏设置正确,但在另一点上,当我希望能够使用它时,它不再被定义

基本上,我为我的项目运行一个本地makefile,它包括一个用于我使用的openFrameworks框架的全局makefile。这一个包括其他makesfiles,具体取决于我的项目所依赖的平台,等等

我希望有一个类似于cpp的命令,但用于makefile,这样我就可以看到在所有include和宏都已展开的情况下的情况


我尝试过使用remake-X来调试它,但它似乎总是会运行所有东西,直到它到达第一个目标。第一个目标出现在我担心的事情之后很久。

尝试make-p和make-d。make-p的输出应该是所有包含行都已解析的结果makefile。它可能不会显示宏定义的重复。我确实有makefile扩展技术,最初是在1999年编写的170多行Perl脚本,需要更正统的词法文件句柄处理,可以读取include行并包含相关文件。要联系我,请参阅我的个人资料。make-p不会显示定义变量的所有地方。但它将向您展示至少在当前版本的GNU中定义变量的最后位置文件名和行号。如果你想知道谁在重写你的变量值,那就足够了。@Zack你看过make-d的输出了吗?这根本不是我想要的@Jonathan Leffler奇怪的是,makefiles定义的宏似乎都没有出现在make-p或make-p调试中。您是否在makefiles中取消定义任何变量?是不是你错误地取消了那个定义?