首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启动makefile中的其他makefile

启动makefile中的其他makefile
EN

Stack Overflow用户
提问于 2010-08-31 12:20:15
回答 1查看 1.3K关注 0票数 0

由于我对linux上的构建过程/makefile不太熟悉,所以我运行了以下问题:

设置:我有一个makefile A,它需要在运行前设置一些环境变量,这是通过运行. ./set_A_vars.sh (set_A_vars.sh包含许多export行)在运行make -f A之前完成的

现在,我需要在makefile B中创建项目A。我尝试了下面的makefile B设置:

代码语言:javascript
运行
复制
all: debug release

A_debug:
    . ./set_A_vars.sh && make -f A DEBUG=1

A_release:
    . ./set_A_vars.sh && make -f A DEBUG=0

debug:   A_debug some_B_stuff_debug
release: A_release some_B_stuff_debug

但是,我得到了很多错误,这些错误听起来像是set_A_vars.sh中的环境变量没有在B中为make -f A ...设置。

如何使用makefile B中的set_A_vars.sh设置的环境变量从makefile B调用makefile A?

任何帮助都很感激。

EN

回答 1

Stack Overflow用户

发布于 2010-08-31 13:08:36

你的制作工具应该能用。我建议你尝试以下几种方法:

  • 尝试从命令行运行set_A_vars.sh .

  • 验证所需设置的变量是否已设置.

  • make -f MakefileA,,以验证MakefileA确实能很好地处理这些变量集.

  • 尝试在MakefileB中使用一条规则来测试其中一个变量,比如FOO

test_var:@echo是$( FOO )

如果您刚刚运行了set_vars.sh,这应该是可行的。如果没有,那就有几件事可能是错的.

  • 现在清除变量(包括FOO)并在MakefileB中尝试此规则:

set_vars_and_test_them:./set_A_vars.sh && echo是$( FOO )

  • 现在把它组合在一起:

A_debug:./set_A_vars.sh & make -f MakefileA DEBUG=1

(我建议不要叫makefile“A”)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3608923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档