Makefile:定义定义的位置

时间:2015-03-18 19:10:40

标签: makefile

我正在构建第三方SDK,其中Makefile检查是否定义了DEF_2_3:

..
#ifdef DEF_2_3
CFLAGS_LOCAL += -I$(SDK)/include
#endif

all:
...
clean:
...

但是,我没有找到SDK中的任何地方(我在目录中找到了),其中将定义DEF_2_3。我想知道makefile是否考虑ifdef MACRO默认定义?如果是这样,我必须在makefile的顶部取消定义MACRO。

感谢。

1 个答案:

答案 0 :(得分:0)

这些被注释掉了。

make不使用#ifdef它使用ifdef

请参阅7.2 Syntax of Conditionals

  

ifdef variable-name

     

ifdef表单将变量的名称作为其参数,而不是对变量的引用。该变量的值具有非空值,text-if-true有效;否则,text-if-false(如果有的话)是有效的。从未定义过的变量具有空值。文本变量名称已扩展,因此它可以是扩展为变量名称的变量或函数。