概述
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条件判断汇总所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复