加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

makefile – 将变量从include伪指令传递给sub-make

发布时间:2020-12-16 03:33:11 所属栏目:百科 来源:网络整理
导读:寻找一些帮助在makefile中将变量从一个级别传递到下一个级别.我有一个源树,需要构建为在各种目标体系结构上运行.为了保持更高级别的makefile干净,我创建了包含特定于体系结构的信息的单独的makefile,并且只包含使用include伪指令所需的那个. 稍后在makefile
寻找一些帮助在makefile中将变量从一个级别传递到下一个级别.我有一个源树,需要构建为在各种目标体系结构上运行.为了保持更高级别的makefile干净,我创建了包含特定于体系结构的信息的单独的makefile,并且只包含使用include伪指令所需的那个.

稍后在makefile中我转移到另一个目录来构建源文件.构建失败,我发现失败是由未传递的体系结构特定变量引起的.

ifeq ($(ARCH),my_arch)        |
include build/my_archdefs.mk   |  section 1 
endif                          |

<more commands>
debug:
      $(MAKE) -C src debug

构建代码树的makefile位于src目录中.作为一个间隙测量,我在上层makefile中包含了上面引用的第1节,在这种情况下,我注意到变量ARCH没有传递下来.

以下是我发现的几个链接似乎相关但我无法弄清楚我需要做些什么让这个工作.
http://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#Options_002fRecursion
http://www.gnu.org/software/make/manual/html_node/Include.html

在我看来,我需要的信息潜伏在我上面引用的链接中,但我只是没有看到它.任何指针都将非常感激.

谢谢.

解决方法

此链接应该有所帮助: http://www.gnu.org/software/make/manual/html_node/Variables_002fRecursion.html#Variables_002fRecursion

在您的顶级Makefile中添加行导出,所有变量都将导出到您的子制作.

例:

文件Makefile:

ID=asdf
export
all:
    @echo ${ID}
    @make -f Makefile2

文件Makefile2:

all:
    @echo ${ID}

输出:

$make
asdf
make[1]: Entering directory `/home/user/Desktop/a'
asdf
make[1]: Leaving directory `/home/user/Desktop/a'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读