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

 我来答
莫言言是真2737
2016-12-14 · 超过196用户采纳过TA的回答
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:243万
展开全部
判断一个变量有没有定义,如果没有定义,则现在就定义,这在判断一个变量是否由上一级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
v班公湖已经
2016-12-14 · TA获得超过533个赞
知道答主
回答量:351
采纳率:22%
帮助的人:94.1万
展开全部
镀锌铁闯奈 zigua8308
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式