摘要:
uboot提供了两种编译策略,即可以将生成的目标文件与源码混在一起,也可以将生成的目标文件与源码分开。通过对uboot Makefile的分析,笔者编写了一个简单的实现这种功能的Makfile。顶层makefileifneq ($(BUILD_DIR),)saved-output := $(BUILD_DIR)# Attempt to create a output directory.$(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}) //创建目录BUILD_DIR# Verify if it was successful.BUIL..
阅读全文
posted @ 2013-11-17 19:31
amanlikethis
阅读(1473)
推荐(0)
编辑
摘要:
uboot顶层目录中的config.mk定义了确定了当前执行makefile所对应的源文件目录、目标文件目录,编译的程序编译、连接的选项,以及目标文件生成的规则等等。它被包含在顶层的makefile以及各个子目录的makefile中,可以说算是一个全局的makefile包含文件。ifneq ($(OBJTREE),$(SRCTREE)) //判断目标目录和源文件目录是否一样,如果不一样下边的有效ifeq ($(CURDIR),$(SRCTREE)) //判断当前目录是否是顶层目录dir := ...
阅读全文
posted @ 2013-11-17 14:37
amanlikethis
阅读(2512)
推荐(0)
编辑
摘要:
uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解。但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线。倘若过分专注部分细节,很难做到把握全局,实际上也不可能很好理解细节。 介于此,笔者已经写了一篇uboot makefile整体解析,可以先从主体上把握makefile。然后,再读这篇makefile强大功能实现的细节,才能做到循序渐进。 说明:uboot顶层makefile的注释机会全部源码都搬上来了,而注释都是黑体加粗以与源码有强烈的区别。VERSION = 1 //主版本号PATCHLEVEL = 1 //次级...
阅读全文
posted @ 2013-11-17 11:59
amanlikethis
阅读(3394)
推荐(0)
编辑
摘要:
伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行所在规则定义的命令,有时也可以将一个伪目标称为标签。伪目标通过 PHONY来指明。 PHONY定义伪目标的命令一定会被执行,下面尝试分析这种优点的妙处。 1、如果我们指定的目标不是创建目标文件,而是使用makefi
阅读全文
posted @ 2013-11-17 11:12
amanlikethis
阅读(7307)
推荐(0)
编辑