递归调用另一个makefile后的奇怪行为

时间:2012-07-27 20:06:00

标签: makefile gnu-make multiple-makefiles

我的项目根目录中有一个主makefile。 include 目录中还有另一个makefile。第二个makefile使用include关键字来调用其他项目中的其他makefile,而我无法控制它。我不能直接包含这个makefile,因为它有一些与我拥有的目标同名的目标。作为一种解决方法,我决定使用递归调用。当我通过shell运行这个makefile时,使用以下命令,它可以很好地工作:

my_project$ make -C include -f Second_Makefile

但是当我通过主Makefile调用它时,它的行为不正常意味着它报告了一些项目特定的错误,这些错误源于第二个makefile中很难找到的包含文件。

all:
    @$(MAKE) -C include -f Second_Makefile

我也试过以下这一行,但没有帮助:

cd include; @$(MAKE) -f Second_Makefile

我认为递归通话和直接通话之间应该存在差异,但我不知道它是什么。

0 个答案:

没有答案