0
点赞
收藏
分享

微信扫一扫

Makefile 零基础学习笔记:if 的用法


前言

  • Makefile 在嵌入式开发中比较的常见,尤其是Linux、Android开发中,这是工程构建的标配
  • 可以通过熟悉一个Makefile,并实际验证,了解常见的Makefile的语法格式与编写技巧

if 语句

  • Makefile 中的 if 语句,如下:
    ​​​srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))​
  • 这句话的意思是:如果 ​​$(KBUILD_SRC)​​​ 为真(存在),就返回 ​​$(KBUILD_SRC)​​​,否则就返回 ​​$(CURDIR)​

if 语句语法

  • 通过查看 gun make 手册,可以找到 if 语句的用法:

Makefile 零基础学习笔记:if 的用法_if用法


Makefile 零基础学习笔记:if 的用法_make_02

  • 用法有点像 C语言的 【逗号运算符】,也就是
    ​​​$(if condition,then-part[,else-part])​
  • condition 条件为真,可以展开,不是whitespace(空白符),就返回 ​​then-part ​
  • condition 为假,不能展开,也就是​​whitespace​​​ (空白符),就返回:​​else-part​
  • 举例:
    ​srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))​
  • 如果:​​KBUILD_SRC​​​ 存在不为空白符,srctree 就为:​​KBUILD_SRC​
  • 如果:​​KBUILD_SRC​​​ 不存在,如为空,则 srctree 为:​​CURDIR​

小结

  • 可以通过查找 gnu make 手册,快速的学习积累常见的Makefile 遇到的语法知识
  • gnu make 手册的地址:​​https://www.gnu.org/software/make/manual/​​


举报

相关推荐

0 条评论