第七载:makefile中的条件判断

    makefile跟编程语言一样,也支持条件判断,方式大同小异,makefile条件判断语句的语法如下:
第七载:makefile中的条件判断_第1张图片
虽然有集中形式,但是推荐使用第一种,其比较符合我们的编程习惯(尤其从事C/C++派系的工作人员),需要注意的是,ifxxx前边不能为tab键(因为不是命令),()中也不允许有空格,否则会报错,这里ifxxx是泛指集中判断类型,具体的如下:
第七载:makefile中的条件判断_第2张图片

可以支持 ifeq ... else ... endif这样的条件分支判断,下边直接看makefile示例:

.PHONY : all

val1 := debug
val2 :=

all:
        @echo "-----test ifeq------"
ifeq ($(val1), debug)    #注意:条件判断语句前不能为tab,可以为空格
        @echo "val1 == debug"
else
        @echo "val1 != debug"
endif
        @echo "-----test ifdef------"

ifdef ($(val2))
        @echo "define val2"
else
        @echo "not define val2"
endif

执行 make all

/home/delphi>make all
-----test ifeq------
val1 == debug
-----test ifdef------
not define val2
/home/delphi>

makefile中的条件判断比较简单,就不做过多介绍了。

以上内容参考《狄泰软件学院》操作系统篇之 - makefile专题

你可能感兴趣的:(Makefile连载)