前端之家收集整理的这篇文章主要介绍了
链接器脚本中的Make或Shell变量,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
链接器脚本是否可以访问makefile /
shell变量并根据所述变量做出决定?
@H_
403_1@例如,假设我想在不使用其他
链接描述
文件的情况下更改下面RAM区域的开头,是否可以使用make变量来执行此操作?
MEMORY
{
ifeq ($(SOME_VAR),0)
RAM (wx) : ORIGIN = 0x100000,LENGTH = 128K
else
RAM (wx) : ORIGIN = 0x200000,LENGTH = 128K
endif
}
ld不会从环境中导入任何变量,因此无法直接使用它们.执行此操作的最佳
方法是使用要导出的环境变量创建自己的
链接描述
文件,并使原始
链接描述
文件包含它:
@H_
403_1@
生成文件:
foo:
echo SOMEVAR=$(SOMEVAR) > environment_linker_script
ld ...
@H_
403_1@enviroment_linker_script:
SOMEVAR=xxx
@H_
403_1@master_linker_script:
include environment_linker_script
ifeq ($(SOME_VAR),0) ...