uboot Makefile解析(一)

2018-10-05  本文已影响0人  QUIZ_JS

版本信息

uboot版本信息在makefile显示为:

VERSION = 2016
PATCHLEVEL = 07
SUBLEVEL =
EXTRAVERSION =
NAME =

VERSION:主板本号
PATCHLEVEL:次版本号
SUBLEVEL:再次版本号
EXTRAVERSION:另外附加的版本信息


引用其他的Makefile

make命令开始时,会把找寻include所指出的其它Makefile,并把其内容安置在当前的位置。就好像C/C++的#include指令一样。如果文件都没有指定绝对路径或是相对路径的话,make会在当前目录下首先寻找,如果当前目录下没有找到,那么,make还会在下面的几个目录下找:

1.如果make执行时,有“-I”或“--include-dir”参数,那么make就会在这个参数所指定的目录下去寻找。
2.如果目录/include(一般是:/usr/local/bin或/usr/include)存在的话,make也会去找。


内置隐含规则和变量设置

make工具内置的隐含规则和变量设置可能会导致一些无法预料的结果,应该将他们禁用掉。

MAKEFLAGS += -rR --include-dir=$(CURDIR)

环境变量 MAKEFILES
”-rR“表示禁用内置的隐含规则和变量定义
”–include-dir” 指明嵌套脚本的搜索路径
CURDIR是make的内嵌变量,自动设置为当前目录


语言区域设置

获取当前区域设置的数字格式习惯

unexport LC_ALL
LC_COLLATE=C
LC_NUMERIC=C
export LC_COLLATE LC_NUMERIC

export是shell命令,在make中可以执行shell命令,则表示使用export修改当前进程的环境变量。
export是make语法中的操作符即传递变量到下级Makefile(当前代码为make中的语法)
unexport 即不让变量传递到下级Makefile


避免shell环境干扰

unexport GREP_OPTIONS
上一篇下一篇

猜你喜欢

热点阅读