makefile shell条件判断汇总

13 篇文章 0 订阅

1.makefile判断文件是否存在
使用wildcard函数与ifeq或者ifneq:
格式:

ifneq ($(MISC_CONFIG), $(wildcard $(MISC_CONFIG)))

else

endif

示例,判断…/sdk_compose/config是否存在:

MISC_CONFIG=../sdk_compose/config

ifneq ($(MISC_CONFIG), $(wildcard $(MISC_CONFIG)))
	@echo $(MISC_CONFIG) does't exist.
else
	@echo $(MISC_CONFIG) exist.
endif

2.makefile判断文件夹是否存在

使用if参数,makefile判断目录是否存在,可以带!取反。

格式:

if [ -d “目录” ]; then dos th; else do sth; fi

示例,判断文件夹./mydir不存在

MY_DIR=./mydir
	if [ ! -d "$(MY_DIR)" ]; then \
		echo "$(MY_DIR) exist"; \
	else
		echo "$(MY_DIR) does't exist"; \	
	fi

3.makefile判断变量是否存在
使用ifdef,或者ifndef
格式:

ifdef MISC_CONFIG

else

endif

示例,判断变量MISC_CONFIG是否已经被定义:

ifdef MISC_CONFIG
	@echo $(MISC_CONFIG) is defined.
else
	@echo $(MISC_CONFIG) does't exist.
endif

4.makfile判断变量是否相等

格式:ifeq “ARG1” “ARG2”
其中双引号 "可以换成括号()或者单引号’。

ifeq “ARG1” “ARG2”

else

endif

示例,使用“ifeq”判断变量MISC_CONFIG是否等于…/sdk_compose/config:

ifeq ("../sdk_compose/config", "$(MISC_CONFIG)")
	@echo MISC_CONFIG is ../sdk_compose/config.
else
	@echo $(MISC_CONFIG)  is not ../sdk_compose/config.
endif

5.makefile判断条件是否成立
使用if,格式:

if 条件;then
… ;
else
… ;
fi

示例,判断MISC_CONFIG变量是否存在:

if $(MISC_CONFIG); then \
  echo "$MISC_CONFIG exist"; \
  else \
     echo "MISC_CONFIG  does't "; \
  fi; \

相关功能:
Shell脚本判断文件是否存在
test使用介绍
Shell字符串比较相等、不相等方法小结
shell脚本字符串截取的8种方法
Shell循环语句多种用法

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值