在君子release 的uboot 在编译的时候,有点小bug
uboot 可以通过 O 来指定编译内容的输出目录
例如: make O=/home/somebody/tmp cetus_nand_config
make O=/home/somebody/tmp all
编译的时候会出现如下错误:
1. @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
这个语句在$(obj) 不是空的时候,会有问题,原因是 $(obj)include 目录可能不存在,解决很简单,只要
添加 : @mkdir -p $(obj)include
2. @echo "TEXT_BASE = 0x80100000" > $(obj)board/cetus/config.tmp
这个语句的错误和上面错误的原因是一样的,加入:
@mkdir -p $(obj)board/cetus/
3. 找不到文件: /home/somebody/tmp/cetus/libcetus.a
这个错误在于 : board/cetus/Makefile 中的
LIB = lib$(BOARD).a
这个文件显然没有考虑输出目录和源代码所在目录不一致的情况,只要修改为:
LIB=$(obj)lib$(BOARD).a 就可以了.