Makefile 中判断一个变量有没有定义

 我来答
百度网友79d5913
2016-12-12 · TA获得超过2245个赞
知道大有可为答主
回答量:1325
采纳率:83%
帮助的人:278万
展开全部
判断一个变量有没有定义,如果没有定义,则现在就定义,这在判断一个变量是否由上一级Makefile export该变量,
因为在大的软件中,一般由上层的Makefile export 相关的CC、CFLAGS等变量,而最后一级目录的Makefile不需要
关心CC等的定义,但有时候不想编译整个工程,只想临时编译最低级的一个子目录,而此时子目录的Makefile就需要
判断是否有该变量的定义,没有就需要定义。(另外,上级目录export 的变量不会覆盖下级目录定义的同名变量,想覆盖
的话,使用: make -e )

方法1: ifdef/ ifndef

ifndef $(CC)
CC=../tools/bin/arm-linux-gcc
endif

方法2: ifeq

ifeq($(CC), )
CC=../tools/bin/arm-linux-gcc
endif

方法3: ifeq

ifeq ("$(origin CROSS_COMPILE)", "undefined")
CROSS_COMPILE=../../arm-linux-
endif
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式