在分析内核启动过程的./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)
时间: 2024-11-07 03:59:34