我是靠谱客的博主 单身花生,最近开发中收集的这篇文章主要介绍makefile shell条件判断汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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循环语句多种用法

最后

以上就是单身花生为你收集整理的makefile shell条件判断汇总的全部内容,希望文章能够帮你解决makefile shell条件判断汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部