uboot编译学习----直接执行make all,提示编译失败
2016-01-16 15:38
302 查看
参考博客:/article/6967249.html‘
若没有执行过“make <board_name>_config”命令就直接执行“make
all”命令则会出现如下的才错误信息,然后停止编译:
[cpp]
view plaincopyprint?
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
若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”的信息后就返回了。
若没有执行过“make <board_name>_config”命令就直接执行“make
all”命令则会出现如下的才错误信息,然后停止编译:
[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”的信息后就返回了。
相关文章推荐
- 向名人学习高效读书的独特方法
- [实战]MVC5+EF6+MySql企业网盘实战(27)——应用列表
- 安装Centos 7 错误解决
- Linux内核中网络数据包的接收-第二部分 select/poll/epoll
- Convert Binary Search Tree to Doubly Linked List
- JavaScript:验证输入
- 编程也怕猪一样的队友
- CocoaPods报错:The dependency `` is not used in any concrete target
- uboot编译学习----执行完make TQ2440_config后,在mkconfig 中
- node.js入门示例
- Linux内核中网络数据包的接收-第二部分 select/poll/epoll
- stm32f103-gy86测试代码资源
- ubuntu 13.10 64位安装及配置 google拼音输入法及Adobe flash player、mp3 插件安装、中文GBK编码等 -转
- java设计模式之观察者模式
- 微信根据Code获取OpenId
- GuideMap开发记录 1
- 数据库SQL优化大总结之 百万级数据库优化方案
- makefile 项目模版
- makefile 单文件夹模版
- AlertDialog(对话框)示例