学习Makefile第五课------使用判断条件
2014-09-04 09:17
295 查看
1.示例
ibs_for_gcc = -lgnu
normal_libs =
foo: $(objects)
ifeq ($(CC),gcc) ----------------------如果objects = gcc ,执行$(CC) -o foo $(objects) $(libs_for_gcc) ,否则执行else里面的语句
$(CC) -o foo $(objects) $(libs_for_gcc)
else
$(CC) -o foo $(objects) $(normal_libs)
endif
2.语法
条件表达式的语法为:
<conditional-directive>
<text-if-true>
endif
以及:
<conditional-directive>
<text-if-true>
else
<text-if-false>
endif
(1)ifeq
ifeq (<arg1>, <arg2>) ---------arg1和arg2相同为真
(2)ifneq
ifneq (<arg1>, <arg2>) -------不同为真
(3)ifdef
ifdef <variable-name> ---------值非空,为真
(4)ifndef
ifndef <variable-name>---------和“ifdef”是相反的意思
最好不要使用自动变量,也不要分成多个文件
ibs_for_gcc = -lgnu
normal_libs =
foo: $(objects)
ifeq ($(CC),gcc) ----------------------如果objects = gcc ,执行$(CC) -o foo $(objects) $(libs_for_gcc) ,否则执行else里面的语句
$(CC) -o foo $(objects) $(libs_for_gcc)
else
$(CC) -o foo $(objects) $(normal_libs)
endif
2.语法
条件表达式的语法为:
<conditional-directive>
<text-if-true>
endif
以及:
<conditional-directive>
<text-if-true>
else
<text-if-false>
endif
(1)ifeq
ifeq (<arg1>, <arg2>) ---------arg1和arg2相同为真
(2)ifneq
ifneq (<arg1>, <arg2>) -------不同为真
(3)ifdef
ifdef <variable-name> ---------值非空,为真
(4)ifndef
ifndef <variable-name>---------和“ifdef”是相反的意思
最好不要使用自动变量,也不要分成多个文件
相关文章推荐
- linux下Makefile学习之五(使用条件判断)
- Makefile学习之使用条件判断
- MakeFile精华【五】--使用条件判断
- makefile详解之使用条件判断
- 31天重构学习笔记31. 使用多态代替条件判断
- 31 天重构学习笔记18. 使用条件判断代替异常
- 31天重构学习笔记31. 使用多态代替条件判断
- makefile变量使用及其条件判断
- 跟我一起写 Makefile——1.8 使用条件判断
- 跟我一起写 Makefile(6)使用条件判断
- 跟我一起写Makefile:使用条件判断
- 跟我一起写makefile-6(使用条件判断)
- 跟我一起写 Makefile (六)——使用条件判断
- makefile变量使用及其条件判断
- 跟我一起写Makefile(六):使用条件判断
- Makefile中的变量及条件判断的使用
- 31天重构学习笔记18. 使用条件判断代替异常
- makefile详解 (七) 使用条件判断
- 31天重构学习笔记31. 使用多态代替条件判断
- Makefile学习(二)条件判断和内嵌函数