Makefile 学习记录一

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/
 
学习  uboot 下 的 Makefile ,要时刻带着两个目的:
  1、先看看 uboot 的 Makefile 做了什么事?
  2、在 看看 做这些事情 用了 Makefile 的 那些语法 ?
上一篇:Microsoft Build 2016 Day 2 记录(多图慎入)


下一篇:Maven学习总结(十一)——Maven项目对象模型pom.xml文件详解