广告
返回顶部
首页 > 资讯 > 服务器 >makefile 条件判断语句
  • 598
分享到

makefile 条件判断语句

linuxbash服务器Makefile 2023-09-14 14:09:37 598人浏览 泡泡鱼
摘要

文章目录 前言一、条件判断语句的语法说明二、ifeq / ifneq三、ifdef / ifndef代码讲解: 四、经典示例总结 前言 一、条件判断语句的语法说明 makefi

文章目录

前言


一、条件判断语句的语法说明

  1. makefile 中支持条件判断语句。
  • 可以根据条件的值决定 make 的执行。
  • 可以 比较 两个不同变量或者变量和常量值。

条件判断语句只能用于控制 make 实际执行的语句;但是,不能控制规则中命令的执行过程。

  1. 常用形式:
    if xxx (arg1,arg2)
  2. 其他合法格式:
    if xxx “arg1” “arg2”
    if xxx ‘arg1’ ‘arg2’
    if xxx “arg1” ‘arg2’
    if xxx ‘arg1’ “arg2”

注意:
中间不可以有空格
在这里插入图片描述

二、ifeq / ifneq

  • ifeq : 判断参数 是否相等,相等为 true, 否则是 false.
  • ifndef : 判断参数 是否不等,不等为 true, 否则为 false.
ifeq (arg1,arg2)    # 如果 arg1 等于 arg2,则执行这里的命令else    # 否则执行这里的命令endififneq (arg1,arg2)    # 如果 arg1 不等于 arg2,则执行这里的命令else    # 否则执行这里的命令endif

三、ifdef / ifndef

  • ifdef : 判断参数 是否有值,有值为 true, 否则是 false.
  • ifndef : 判断参数 是否没有值,没有值为 true, 否则为 false.
ifdef variable    # 如果 variable 被定义,则执行这里的命令else    # 否则执行这里的命令endif

代码讲解:

.PHONY : testvar1 := Avar2 := $(var1)   # 将var1 赋值给 var2var3 := # var3 为空test :ifeq ($(var1),$(var2))# 判断var1 和var2 是否相等@echo "var1 == var2"else@echo "var1 != var2"endififdef var3# 判断var3 是否为空@echo "var3 is NOT empty"else@echo "var3 is empty"endif

在这里插入图片描述

注意:

  • 条件判断语句之前可以有空格, 但不能有 Tab 字符(' \ t ').
  • 在条件语句中 不要使用自动变量。($@, $^, $<)
  • 一条完整的条件语句必须位于同一个 makefile 中。

四、经典示例

提问 :
下面这两段代码的执行结果相同吗?

在这里插入图片描述
实践出真知,下面就来实际实现一下:

.PHONY : testvar1 := var2 := $(var1)# 对 var2 进行简单赋值 var3 =var4 = $(var3)# 对 var3 进行递归赋值test :  ifdef var1 # 判断变量是否存在@echo "var1 is defined"    else@echo "var1 is NOT defined"    endif        ifdef var2@echo "var2 is defined"        else@echo "var2 is NOT defined"        endif   ifdef var3 @echo "var3 is defined"    else@echo "var3 is NOT defined"    endif        ifdef var4@echo "var4 is defined"        else@echo "var4 is NOT defined"        endif

在这里插入图片描述
结果是不同的,这是由于我们的 条件判断类似于 C 语言中的宏,预处理阶段有效,执行阶段无效

:= 简单赋值= 递归赋值 是不同的。简单赋值会发生在 Makefile 解析的过程中。简单赋值会发生在 Makefile 解析的过程中


总结

下一篇介绍 函数的定义于调用

来源地址:https://blog.csdn.net/wuyiyu_/article/details/130617102

--结束END--

本文标题: makefile 条件判断语句

本文链接: https://www.lsjlt.com/news/407319.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • makefile 条件判断语句
    文章目录 前言一、条件判断语句的语法说明二、ifeq / ifneq三、ifdef / ifndef代码讲解: 四、经典示例总结 前言 一、条件判断语句的语法说明 makefi...
    99+
    2023-09-14
    linux bash 服务器 Makefile
  • python条件判断语句(if else)
    基本结构         python中判断语句的基本结构由if和else组成,当if后面的条件为真时,执行if下面的语句;当if后面的条件为假时,执行else下面的语句。这里条件的真假都是用bool值来作为依据的,我们知道比较运算、成员...
    99+
    2023-09-24
    python 开发语言
  • Python的条件判断语句------i
      计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。   比如,输入用户的年龄,根据年龄打印不同的内容。。。   Python程序中,能让计算机自己作出判断的语句就是if语句:   例:     age = 25     if...
    99+
    2023-01-31
    语句 条件 Python
  • python中的条件判断语句
    在python中使用条件判断语句一定不要忘记if else elif后面的冒号:哦 if语句的特点: 从上往下判断,如果某一个判断是true,将该判断条件对应的语句执行,忽略后面剩下的else和elif 1、用if语句实现 如果判断结果...
    99+
    2023-01-31
    语句 条件 python
  • java判断条件语句有哪些
    java中的判断条件语句有:1.if语句,基于不同的条件执行不同的操作;2.switch语句,多重条件判断语句;java中的判断条件语句有以下几种if语句java中if语句是的作用是基于不同的条件执行不同的操作。int i = 95;if ...
    99+
    2022-10-08
  • mybatisiftest条件判断语句中的判断问题分析
    目录if test条件判断语句中的判断问题我在mybatis中定义的sql语句如下或使用equals()mybatis 中if test判断大坑使用Mybatis时,常常会判断属性是...
    99+
    2022-11-13
  • JavaScript条件判断语句如何使用
    本篇内容介绍了“JavaScript条件判断语句如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!假如...
    99+
    2022-10-19
  • Python学习之if 条件判断语句
    目录1、基本 if 条件语句:2、嵌套 if 语句3、if 和 elif 搭配使用:4、if 语句中 pass总结if 语句是判断语句 常常搭配else一起使用 if 后面紧跟的是判...
    99+
    2022-11-12
  • arduino多条件判断语句怎么写
    在Arduino中,你可以使用if语句来进行多条件判断。if语句的一般语法如下:```if (条件1) {// 如果条件1为真,则执...
    99+
    2023-08-20
    arduino
  • JS if else语句(条件判断语句)的详细使用
    目录前言if语句if else 语句if else if else 语句总结前言 条件判断语句是程序开发过程中一种经常使用的语句形式,和大部分编程语言相同,JavaScript&nb...
    99+
    2022-11-13
  • python多个条件判断语句怎么写
    在Python中,可以使用if-elif-else语句来编写多个条件判断语句。下面是一个示例:```pythonx = 5if x ...
    99+
    2023-10-11
    python
  •  python中的条件判断语句怎么用
    这篇文章主要为大家展示了“ python中的条件判断语句怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ python中的条件判断语句怎么用”这篇文章吧。1. 避免多层分...
    99+
    2023-06-29
  • linux中如何使用shell 条件判断语句
    linux中如何使用shell 条件判断语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常用系统变量 $0 当前程式的名称 $n 当前程式的第n个参数,n=1,2,&am...
    99+
    2023-06-13
  • MySQL 判断语句 条件函数 case when、if、ifnull
    在MySQL中,需要用到条件判断函数,例如 case when、if、ifnull。 一、方法分类 二、具体方法 (1)if if(expr,result_true,result_false) ...
    99+
    2023-09-04
    mysql 数据库 java
  • dos if条件判断语句的实例用法
    这篇文章主要讲解了“dos if条件判断语句的实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dos if条件判断语句的实例用法”吧!判断驱动器、文件或文件夹是否存在,用 if exi...
    99+
    2023-06-09
  • Python中的条件判断语句与循环语句用法小结
    if语句 >>通用格式 if语句一般形式如下: if <test1>: <statements1> elif <test2>: <stateme...
    99+
    2022-06-04
    语句 小结 条件
  • mybatis if test条件判断语句中的判断问题实例分析
    本文小编为大家详细介绍“mybatis if test条件判断语句中的判断问题实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis if test条件判断语句中的判断问题实例分析”文...
    99+
    2023-06-29
  • python中的条件判断语句的使用介绍
    目录1. 避免多层分支嵌套2. 封装过于复杂的逻辑判断3. 不同分支下的重复代码4. 合理使用三元表达式5. 常见技巧5.1德摩根定律5.2自定义类的魔法方法5.3在条件判断中使用 ...
    99+
    2022-11-13
  • Shell如何使用条件判断语句与循环
    本篇内容主要讲解“Shell如何使用条件判断语句与循环”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell如何使用条件判断语句与循环”吧!1.条件判断1.1基本语法[condition]注意...
    99+
    2023-06-09
  • C语言的三种条件判断语句怎么使用
    本篇内容介绍了“C语言的三种条件判断语句怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!if语句if语句中,首先判断表达式的值,然后根...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作