Makefile学习总结之Makefile的条件执行

Makefile的条件执行

  1. 条件语句中使用到了三个关键字:”ifeq”、“else”、“endif”,其中:
    “ifeq”表示条件语句的开始,并指定了一个比较条件(相等)。之后是用圆括号括包围的、使用逗号“,”分割的两个参数,和关键字“ifeq”用空格分开。参数中的变量引用在进行变量值比较时被展开。“ifeq”之后就是当条件满足make 需要执行的,条件不满足时忽略。
    “else”之后就是当条件不满足时的执行部分。不是所有的条件语句都需要此部分。
    “endif”表示一个条件语句的结束,任何一个条件表达式都必须以“endif”结束。

  2. 一个简单的不包含“else”分支的条件判断语句的语法格式为:

CONDITIONAL-DIRECTIVE 
TEXT-IF-TRUE 
endif

表达式中“TEXT-IF-TRUE”可以是若干任何文本行,当条件为真时它就将被make作为需要执行的一部分。当条件为假时,不作为需要执行的一部分。

  1. ifeq,判断参数是否相等;
  2. ifneq,判断参数是否不相等;
  3. ifdef,用来判断一个变量是否已经定义;
  4. ifdef 只是测试一个变量是否有值,不会对变量进行替换展开来判断变量的值是否为空。
  5. ifndef,关键字“ifndef”实现的功能和“ifdef”相反;
发布了39 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43443900/article/details/103372879