uboot的两种编译方法

(1)编译复杂项目,Makefile提供2种编译管理方法。默认情况下是当前文件夹中的.c文件,编译出来的.o文件会放在同一文件夹下。这种方式叫做原地编译。

(2)原地编译有一些坏处:第一,污染了源文件目录。第二的缺陷就是一套源代码只能按照一种配置和编译方法进行处理,无法同时维护2个或者2个以上的配置编译方式。

(3)为了解决以上2中缺陷,uboot支持单独输出文件夹方式的编译(linux kernel也支持,而且uboot的这种技术就是从linux kernel学习来的)。基本思路就是在编译时另外指定一个输出目录,将来所有的编译生成的.o文件或生成的其他文件全都丢到那个输出目录去。源代码目录不做任何污染,这样输出目录就承载了本次配置编译的所有结果。

(4)具体用法:默认的就是原地编译。如果需要指定具体的输出目录编译则有2种方式来指定输出目录。

第一种:make O=输出目录

第二种:export BULLD_DIR=输出目录 然后再make

如果两个都指定了(既有BULLD DIR环境变量存在,又有O=xx),则O=xx具有更高优先级,听他的。

猜你喜欢

转载自blog.csdn.net/weixin_40405692/article/details/83866579