只是第一行与第一种形式不同:将“ifdef”改为“ifndef”。它的作用是:若标识符未被定义则编译程序段1,否则编译程序段2。这种形 式与第一种形式的作用相反。 以上两种形式用法差不多,根据需要任选一种,视方便而定。 ****** 还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符: #if ...
ifneq '<arg1>;' "<arg2>;"其比较参数“arg1”和“arg2”的值是否相同,如果不同,则为真。和“ifeq”类似。第三个条件关键字是“ifdef”。语法是:ifdef <variable-name>;如果变量<variable-name>;的值非空,那到表达式为真。否则,表达式为假。当然,<variable-name>;同样可以是一个函数的返...
在Makefile中,ifeq语句用于条件判断,如ifeq($(ABC), XXX),只有当ABC变量的值与XXX完全匹配时,才会添加CFLAGS并定义-DABC。特别注意,空格在ifeq中的使用至关重要,如$(ABC)后面不应有空格,否则可能导致意外的结果。在变量赋值方面,有四种不同的方式:VARIABLE = value设置默认值,VARIABLE ?= v...
1,Makefile中的ifeq:ifeq($(ABC), XXX) CFLAGS += -DABC endif 注意: 逗号和xxx之间必须有一个空格 更需要注意的是: ifeq中的XXX后面不能带空格,如果XXX后面带了一个空格,那空格和XXX会被认为是一个整体 export ABC = XXX[ ][ ] 这里用【】表示一个空格 那么 ifeq($(ABC), XXX...
makefile中ifeq,ifneq,ifdef和ifndef的区别与用法 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_gcc = -lgnu normal_libs...
makefile中ifeq,ifneq,ifdef和ifndef的区别与用法 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话
只是第一行与第一种形式不同:将“ifdef”改为“ifndef”。它的作用是:若标识符未被定义则编译程序段1,否则编译程序段2。这种形式与第一种形式的作用相反。以上两种形式用法差不多,根据需要任选一种,视方便而定。 ****** 还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符: 代码语言:j...