2019年2月5日10:18:13 大年初一
整理 uboot-2018-11 源代码 根目录下的 Makefile 。
ifeq ("$(origin O)", "command line") KBUILD_OUTPUT := $(O) endif # ifeq , 关键字,判断来年各个参数是否相等 # origin 是一个函数,告诉你这个变量是从哪里来的,返回值有7个 # 返回值为"undefine"时,这个变量没有被定义过 # 返回值为“command line”时,这个变量是被命令行定义的。 # 返回值为“environment”时,这个变量是定义为环境变量。 # 返回值为“file”时,这个变量是定义在Makefile中。 # 返回值为“default”时,变量是默认定义的。 # 返回值为“override”时,被override指示符重新定义 # 返回值为“automatic”时,是一个命令运行中自动化变量 # 命令行中带有变量O 则函数返回command line,再次进行ifeq判断 # 变量O的值,在命令行中已经给出了即:"make O=dir/to/store/output/files/" # 相等,则直接给变量 KBUILD_OUTPUT 赋值 变量 O的值 # 则赋值 KBUILD_OUTPUT 为命令行给出的值,即例子中dir/to/store/output/files/