网站建设的讲话稿,wordpress导航分类怎么添加new,wordpress公共课,郑州营销型网站制作策划加qq#xff1a;1126137994 微信#xff1a;liu1126137994 一起学习更多技术~
今天来学习Makefile中条件判断语句#xff01;
Makefile也算是一门语言#xff0c;它有自己的语法#xff0c;那么它应该也会像C/C语言一样#xff0c;支持条件判断语句#xff01;
Makef…加qq1126137994 微信liu1126137994 一起学习更多技术~
今天来学习Makefile中条件判断语句
Makefile也算是一门语言它有自己的语法那么它应该也会像C/C语言一样支持条件判断语句
Makefile中的条件判断语句
可以根据条件的值来决定make的执行可以比较两个不同的变量或者变量和常量的值
ifxxx (arg1,arg2)
#for true
else
#for false
endif
注意事项 条件判断语句只能用于控制make实际执行的语句但是不能控制规则中命令的执行过程
条件判断语句的语法说明
常用形式
ifxxx (arg1,arg2)
其他合法形式
ifxxx arg1,arg2
ifxxx arg1,arg2
ifxxx arg1,arg2
ifxxx arg1,arg2
注意下图的问题 判断语句前面可以是空格但不能是tab键
条件判断关键字
下面看一个例子来加深对上述理论的理解
.PHONY : testvar1 : A
var2 : $(var1)
var3 : test:ifeq ($(var1),$(var2))echo var1 var2elseecho var1 ! var2endififneq ($(var2),)echo var2 is NOT emptyelseecho var2 is emptyendififdef var2echo var2 is NOT emptyelseecho var2 is emptyendififndef var3echo var3 is emptyelseecho var3 is NOT emptyendif 一开始make后有这个错误
这个错误实际上是判断语句前面应该是空格而我的判断语句前面都是tab字符我将判断语句前面的tab键全部删除换成空格后就可以了 修改后运行make显示
下面总结的是Makefile中判断语句的一些工程上的经验
条件判断语句之前可以有空格但是不能有tab键’\t’在条件判断语句中不要使用自动变量$ $^ $一个完整的条件判断语句必须位于同一个makefile中条件判断语句类似于C语言中的宏预处理阶段有效执行阶段无效make在加载makefile时 *首先计算表达式的值赋值方式不同计算方式不同 根据判断语句的表达式*决定执行的内容
分析一下下图中的两个代码输出是相同的么
看看下面的代码
.PHONY : testvar1 :
var2 : $(var1)var3
var4 $(var3)#var3 3 test:ifdef var1 echo var1 is definedelseecho var1 is NOT definedendififdef var2echo var2 is defined elseecho var2 is NOT defined endififdef var3 echo var3 is definedelseecho var3 is NOT definedendififdef var4echo var4 is defined elseecho var4 is NOT defined endif运行make后显示
总结
条件判断语句根据条件的值来决定make的执行条件判断可以比较两个不停变量或者变量和常量条件判断在预处理阶段有效在执行阶段无效条件判断不能控制规则中命令的执行过程
想一起探讨以及获得各种学习资源加我 qq1126137994 微信liu1126137994 可以共同交流关于嵌入式操作系统C语言C语言数据结构等技术问题。