链接器脚本中的Make或Shell变量

前端之家收集整理的这篇文章主要介绍了链接器脚本中的Make或Shell变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
链接器脚本是否可以访问makefile / shell变量并根据所述变量做出决定?

例如,假设我想在不使用其他链接描述文件的情况下更改下面RAM区域的开头,是否可以使用make变量来执行此操作?

MEMORY
{
ifeq ($(SOME_VAR),0)
RAM (wx) : ORIGIN = 0x100000,LENGTH = 128K
else
RAM (wx) : ORIGIN = 0x200000,LENGTH = 128K
endif
}
ld不会从环境中导入任何变量,因此无法直接使用它们.执行此操作的最佳方法是使用要导出的环境变量创建自己的链接描述文件,并使原始链接描述文件包含它:

生成文件

foo:
    echo SOMEVAR=$(SOMEVAR) > environment_linker_script
    ld ...

enviroment_linker_script:

SOMEVAR=xxx

master_linker_script:

include environment_linker_script

ifeq ($(SOME_VAR),0) ...
原文链接:https://www.f2er.com/bash/384856.html

猜你在找的Bash相关文章