MakeFile中使用条件判断

在MakeFile中使用条件判断可以在编译的时候根据不同的情况执行不同的分支,在MakeFile中条件表达式可以是比较变量的值,也可以是比较变量和常量的值。

举个例子

比如我们需要根据$(CC)的值来使用不同的编译方式:

ifeq ($(CC), gcc)
    $(CC) -o foo $(objects) $(libs_for_gcc)
else
    $(CC) -0 foo $(objects) $(normal_libs)
endif

需要注意的是,当比较变量为空值的时候,我们需要通过以下的方式判断一个变量是否为空值:

ifeq ($(strip $(foo)), )
    # run command when foo is empty
else
    # run command when foo is not empty
endif

用起来还是很简单的呀。

发表新评论