Makefile中export分析

2018-01-03 16:36:13 浏览数 (1)

在分析内核启动过程的./arch/arm/Makefile文件里碰到了这样字段

代码语言:javascript复制
162  export TEXT_OFFSET GZFLAGS MMUEXT  

然后在子目录arch/arm/kernel/vmlinux.lds文件中又用到了TEXT_OFFSET

代码语言:javascript复制
24    . = PAGE_OFFSET   TEXT_OFFSET;                 

上网一查export才知道:

这个是用来提供该子目录makefile(sub make)中访问的,同一级的另外一个makefile中,是无法访问/得到的。

(可以通过makefile中内置变量MAKELEVEL查看得知当前makefile的levlel)

常规用法如下:

carifan_TopMake=E516537_in_top_make export carifan_TopMake                                                         //在目标外部export                  focus_bfin: echo current make MAKELEVEL=$(MAKELEVEL) echo *****************test Value in Top Makefile=$(carifan_TopMake)          make -f main.mak PLATFORM=Bfin PRODUCT=Focus MAKE_TARGET=focus_bfin

若export在目标内部使用,这样通过echo将会打出空符号"test Value in Top Makefile=  "

(详细链接:http://blog.csdn.net/a1232345/article/details/42112881)

0 人点赞