Makefile中export分析

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

162  export TEXT_OFFSET GZFLAGS MMUEXT  

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

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)

 

posted @ 2017-08-11 19:08  诺谦  阅读(8449)  评论(0编辑  收藏  举报