您的位置:首页 > 其它

uboot编译学习----直接执行make all,提示编译失败

2016-01-16 15:38 302 查看
参考博客:/article/6967249.html

若没有执行过“make <board_name>_config”命令就直接执行“make
al
l”命令则会出现如下的才错误信息,然后停止编译:

[cpp]
view plaincopyprint?

System not configured - see README

System not configured - see README


U-Boot是如何知道用户没有执行过“make <board_name>_config”命令的呢?阅读U-Boot源代码就可以发现了,Makefile中有如下代码:

[cpp]
view plaincopyprint?

ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk)) # config.mk存在 all: sinclude $(obj)include/autoconf.mk.dep sinclude $(obj)include/autoconf.mk … … else # config.mk不存在 … … @echo "System not configured - see README" >&2 @ exit 1 … … endif # config.mk

ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk)) # config.mk存在
all:
sinclude $(obj)include/autoconf.mk.dep
sinclude $(obj)include/autoconf.mk
… …
else        # config.mk不存在
… …
@echo "System not configured - see README" >&2
@ exit 1
… …
endif      # config.mk


若include/config.mk 文件存在,则$(wildcard $(obj)include/config.mk) 命令执行的结果是“$(obj)include/config.mk”展开的字符串,否则结果为空。

由于include/config.mk是“make <board_name>_config”命令执行过程生成的,

若从没有执行过“make <board_name>_config”命令则include/config.mk必然不存在。

因此Make就执行else分支的代码,在输出“System not configured - see README”的信息后就返回了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: