1.主Makefile分析:
uboot的version(版本信息):
VERSION = 1
PATCHLEVEL = 3
SUBLEVEL = 4
EXTRAVERSION =
U_BOOT_VERSION =$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
VERSION |
1级版本号: 1 |
PATCHLEVEL |
2级版本号: 3 |
SUBLEVEL |
3级版本号: 4 |
EXTRAVERSION |
额外信息:自己的信息 |
U_BOOT_VERSION |
最终版本号:1.3.4xxx |
HOSTARCH :=$(shell uname -m | \
sed -es/i.86/i386/ \
-e s/sun4u/sparc64/ \
-e s/arm.*/arm/ \
-e s/sa110/arm/ \
-e s/powerpc/ppc/ \
-e s/ppc64/ppc/ \
-e s/macppc/ppc/)
HOSTOS := $(shelluname -s | tr '[:upper:]' '[:lower:]' | \
sed -e 's/\(cygwin\).*/cygwin/')
HOSTARCH |
主机CPU架构 |
HOSTOS |
主机的系统信息 |
uname -m |
这个命令可以得到主机的CPU信息 |
uname -s |
这个命令可以得到主机的操作系统信息 |
| |
(管道),参考shell内容 |
tr '[:upper:]' '[:lower:]' |
将得到的信息转换成小写的 |
HOSTARCH ,HOSTOS :这里的两个环境变量主要是得出了一个我们用于编译这个Makefile时的主机的一些信息,在后边的操作中会用到这些信息做一些处理。
静默编译:
# Allow forsilent builds
ifeq (,$(findstrings,$(MAKEFLAGS)))
XECHO = echo
else
XECHO = :
endif