@ -180,9 +180,6 @@ unexport CDPATH
#########################################################################
TIMESTAMP_FILE = include/generated/timestamp_autogenerated.h
VERSION_FILE = include/generated/version_autogenerated.h
HOSTARCH := $( shell uname -m | \
sed -e s/i.86/x86/ \
-e s/sun4u/sparc64/ \
@ -356,9 +353,11 @@ KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
-fno-builtin -ffreestanding
KBUILD_AFLAGS := -D__ASSEMBLY__
U_BOOT_VERSION = $( VERSION) $( if $( PATCHLEVEL) ,.$( PATCHLEVEL) $( if $( SUBLEVEL) ,.$( SUBLEVEL) ) ) $( EXTRAVERSION)
# Read UBOOTRELEASE from include/config/uboot.release (if it exists)
UBOOTRELEASE = $( shell cat include/config/uboot.release 2> /dev/null)
UBOOTVERSION = $( VERSION) $( if $( PATCHLEVEL) ,.$( PATCHLEVEL) $( if $( SUBLEVEL) ,.$( SUBLEVEL) ) ) $( EXTRAVERSION)
export VERSION PATCHLEVEL SUBLEVEL U_BOOT_VERSION
export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOT VERSION
export ARCH CPU BOARD VENDOR SOC
export CONFIG_SHELL HOSTCC HOSTCFLAGS HOSTLDFLAGS CROSS_COMPILE AS LD CC
export CPP AR NM LDR STRIP OBJCOPY OBJDUMP
@ -411,6 +410,9 @@ endif
# Detect when mixed targets is specified, and make a second invocation
# of make so .config is not included in this case either (for *config).
version_h := include/generated/version_autogenerated.h
timestamp_h := include/generated/timestamp_autogenerated.h
no-dot-config-targets := clean clobber mrproper distclean \
help %docs check% coccicheck \
backup
@ -582,8 +584,6 @@ CHECKFLAGS += $(NOSTDINC_FLAGS)
cpp_flags := $( KBUILD_CPPFLAGS) $( CPPFLAGS) $( UBOOTINCLUDE) $( NOSTDINC_FLAGS)
c_flags := $( KBUILD_CFLAGS) $( cpp_flags)
.PHONY : $( VERSION_FILE ) $( TIMESTAMP_FILE )
#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
@ -786,8 +786,7 @@ u-boot.img: u-boot.bin
tools/mkimage -A $( ARCH) -T firmware -C none \
-O u-boot -a $( CONFIG_SYS_TEXT_BASE) \
-e $( CONFIG_SYS_UBOOT_START) \
-n $( shell sed -n -e 's/.*U_BOOT_VERSION//p' $( VERSION_FILE) | \
sed -e 's/"[ ]*$$/ for $(BOARD) board"/' ) \
-n " U-Boot $( UBOOTRELEASE) for $( BOARD) board " \
-d $< $@
u-boot.imx : u -boot .bin
@ -943,13 +942,22 @@ PHONY += $(u-boot-dirs)
$(u-boot-dirs) : depend prepare scripts
$( Q) $( MAKE) $( build) = $@
tools : $( TIMESTAMP_FILE ) $( VERSION_FILE )
tools : prepare
# The "tools" are needed early
$(filter-out tools, $(u-boot-dirs)) : tools
# The "examples" conditionally depend on U-Boot (say, when USE_PRIVATE_LIBGCC
# is "yes"), so compile examples after U-Boot is compiled.
examples : $( filter -out examples , $ ( u -boot -dirs ) )
d e f i n e f i l e c h k _ u b o o t . r e l e a s e
echo " $( UBOOTVERSION) $$ ( $( CONFIG_SHELL) $( srctree) /scripts/setlocalversion $( srctree) ) "
e n d e f
# Store (new) UBOOTRELEASE string in include/config/uboot.release
include/config/uboot.release : Makefile FORCE
$( call filechk,uboot.release)
# Things we need to do before we recursively start building the kernel
# or the modules are listed in "prepare".
# A multi level approach is used. prepareN is processed before prepareN-1.
@ -962,7 +970,7 @@ PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
# prepare3 is used to check if we are building in a separate output directory,
# and if so do:
# 1) Check that make has not been executed in the kernel src $(srctree)
prepare3 :
prepare3 : include /config /uboot .release
i f n e q ( $( KBUILD_SRC ) , )
@$( kecho) ' Using $(srctree) as source for u-boot'
$( Q) if [ -f $( srctree) /include/config.mk ] ; then \
@ -975,7 +983,7 @@ endif
# prepare2 creates a makefile if using a separate output directory
prepare2 : prepare 3 outputmakefile
prepare1 : prepare 2
prepare1 : prepare 2 $( version_h ) $( timestamp_h )
@:
archprepare : prepare 1 scripts_basic
@ -986,6 +994,27 @@ prepare0: archprepare FORCE
# All the preparing..
prepare : prepare 0
# Generate some files
# ---------------------------------------------------------------------------
d e f i n e f i l e c h k _ v e r s i o n . h
( echo \# define PLAIN_VERSION \" $( UBOOTRELEASE) \" ; \
echo \# define U_BOOT_VERSION \" U-Boot \" PLAIN_VERSION; \
echo \# define CC_VERSION_STRING \" $$ ( $( CC) --version | head -n 1) \" ; \
echo \# define LD_VERSION_STRING \" $$ ( $( LD) --version | head -n 1) \" ; )
e n d e f
d e f i n e f i l e c h k _ t i m e s t a m p . h
( LC_ALL = C date +'#define U_BOOT_DATE "%b %d %C%y"' ; \
LC_ALL = C date +'#define U_BOOT_TIME "%T"' )
e n d e f
$(version_h) : $( srctree ) /Makefile FORCE
$( call filechk,version.h)
$(timestamp_h) : $( srctree ) /Makefile FORCE
$( call filechk,timestamp.h)
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
@ -1009,16 +1038,16 @@ quiet_cmd_autoconf = GEN $@
include/autoconf.mk : include /config .h
$( call cmd,autoconf)
u-boot.lds : $( LDSCRIPT ) depend
u-boot.lds : $( LDSCRIPT ) depend prepare
$( CPP) $( cpp_flags) $( LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl : $( TIMESTAMP_FILE ) $( VERSION_FILE ) depend prepare
nand_spl : depend prepare
$( MAKE) $( build) = nand_spl/board/$( BOARDDIR) all
u-boot-nand.bin : nand_spl u -boot .bin
cat nand_spl/u-boot-spl-16k.bin u-boot.bin > u-boot-nand.bin
spl/u-boot-spl.bin : tools depend prepare
spl/u-boot-spl.bin : tools depend prepare
$( MAKE) obj = spl -f $( srctree) /spl/Makefile all
tpl/u-boot-tpl.bin : tools depend prepare
@ -1026,7 +1055,7 @@ tpl/u-boot-tpl.bin: tools depend prepare
# Explicitly make _depend in subdirs containing multiple targets to prevent
# parallel sub-makes creating .depend files simultaneously.
depend dep : $( TIMESTAMP_FILE ) $( VERSION_FILE ) \
depend dep : \
include/generated/generic-asm-offsets.h \
include/generated/asm-offsets.h
@ -1127,27 +1156,7 @@ checkarmreloc: u-boot
false; \
fi
$(VERSION_FILE) :
@mkdir -p $( dir $( VERSION_FILE) )
@( localvers = '$(shell $(TOPDIR)/scripts/setlocalversion $(TOPDIR))' ; \
printf '#define PLAIN_VERSION "%s%s"\n' \
" $( U_BOOT_VERSION) " " $$ {localvers} " ; \
printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' \
" $( U_BOOT_VERSION) " " $$ {localvers} " ; \
) > $@ .tmp
@( printf '#define CC_VERSION_STRING "%s"\n' \
'$(shell $(CC) --version | head -n 1)' ) >> $@ .tmp
@( printf '#define LD_VERSION_STRING "%s"\n' \
'$(shell $(LD) -v | head -n 1)' ) >> $@ .tmp
@cmp -s $@ $@ .tmp && rm -f $@ .tmp || mv -f $@ .tmp $@
$(TIMESTAMP_FILE) :
@mkdir -p $( dir $( TIMESTAMP_FILE) )
@LC_ALL= C date +'#define U_BOOT_DATE "%b %d %C%y"' > $@ .tmp
@LC_ALL= C date +'#define U_BOOT_TIME "%T"' >> $@ .tmp
@cmp -s $@ $@ .tmp && rm -f $@ .tmp || mv -f $@ .tmp $@
env : depend scripts_basic
env : scripts_basic
$( Q) $( MAKE) $( build) = tools/$@
tools-all : HOST_TOOLS_ALL =y