如何从另一个makefile中获取makefile的源代码?

如何从另一个makefile中获取makefile的源代码?,makefile,Makefile,换句话说,如何获得与bash中的(dot)或make中python中的execfile类似的效果。使用include指令: include the-other-makefile 您可以通过合理的方式发现这一点,而无需询问: 阅读POSIX 7“包含行”(6中似乎不存在) 在问任何问题之前从头到尾阅读 通过查看目录并事先知道您可能正在寻找所谓的指令(include是一个指令) 猜测它可以像在c中一样被称为include,而不是bash中的source,然后在 阅读整个目录,并推断include

换句话说,如何获得与bash中的
(dot)或make中python中的
execfile
类似的效果。

使用
include
指令:

include the-other-makefile
您可以通过合理的方式发现这一点,而无需询问:

  • 阅读POSIX 7“包含行”(6中似乎不存在)

  • 在问任何问题之前从头到尾阅读

  • 通过查看目录并事先知道您可能正在寻找所谓的指令(include是一个指令)

  • 猜测它可以像在c中一样被称为
    include
    ,而不是bash中的
    source
    ,然后在

  • 阅读整个目录,并推断
    include
    符合您的需要


使用
包含
指令:

include the-other-makefile
您可以通过合理的方式发现这一点,而无需询问:

  • 阅读POSIX 7“包含行”(6中似乎不存在)

  • 在问任何问题之前从头到尾阅读

  • 通过查看目录并事先知道您可能正在寻找所谓的指令(include是一个指令)

  • 猜测它可以像在c中一样被称为
    include
    ,而不是bash中的
    source
    ,然后在

  • 阅读整个目录,并推断
    include
    符合您的需要


这是一个GNU make扩展,仅适用于GNU make,不适用于其他品牌。对于BSD make,您需要使用
。选中include“filename”
@chrisdd,我觉得include行可以执行与GNU版本相同的操作。。。但是它有点难读,也许我弄错了。还有一个问题是,标准的这一部分是否得到广泛遵守。@chrisdsodd我还尝试将其包含在
.POSIX
特殊目标中,并且成功了。当然,这可能是
.POSIX
的gnu实现上的一个问题,也可能是以前未指定的良好行为。首先,最新的POSIX标准确实定义了
include
。这是最近增加的;它没有出现在第6期(2004年)中,但出现在当前第7期中。其次,声明
.POSIX:
目标并不意味着任何不符合POSIX的makefile都会失败。这只是意味着,如果你有一个符合POSIX标准的makefile(根据定义,它必须声明
。POSIX:
),那么它就会成功。@Madscient我读了你关于
。POSIX
的手册,收回我所说的。这是一个GNU make扩展,只适用于GNU make,而不是其他make。对于BSD make,您需要使用
。选中include“filename”
@chrisdd,我觉得include行可以执行与GNU版本相同的操作。。。但是它有点难读,也许我弄错了。还有一个问题是,标准的这一部分是否得到广泛遵守。@chrisdsodd我还尝试将其包含在
.POSIX
特殊目标中,并且成功了。当然,这可能是
.POSIX
的gnu实现上的一个问题,也可能是以前未指定的良好行为。首先,最新的POSIX标准确实定义了
include
。这是最近增加的;它没有出现在第6期(2004年)中,但出现在当前第7期中。其次,声明
.POSIX:
目标并不意味着任何不符合POSIX的makefile都会失败。这只是意味着,如果你有一个符合POSIX标准的makefile(根据定义,它必须声明
.POSIX:
),那么它就会成功。@Madscitist我读了你关于
.POSIX
的手册,收回我所说的。