# MA 02111-1307 USA
#
-VERSION = 2011
-PATCHLEVEL = 12
-SUBLEVEL =
+VERSION = 2012
+PATCHLEVEL = 04
+SUBLEVEL = 01
EXTRAVERSION =
ifneq "$(SUBLEVEL)" ""
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
else
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)
endif
-TIMESTAMP_FILE = $(obj)include/generated/timestamp_autogenerated.h
-VERSION_FILE = $(obj)include/generated/version_autogenerated.h
HOSTARCH := $(shell uname -m | \
sed -e s/i.86/x86/ \
endif
export obj src
+TIMESTAMP_FILE = $(obj)include/generated/timestamp_autogenerated.h
+VERSION_FILE = $(obj)include/generated/version_autogenerated.h
+
# Make sure CDPATH settings don't interfere
unexport CDPATH
# that (or fail if absent). Otherwise, search for a linker script in a
# standard location.
+LDSCRIPT_MAKEFILE_DIR = $(dir $(LDSCRIPT))
+
ifndef LDSCRIPT
#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
ifdef CONFIG_SYS_LDSCRIPT
endif
endif
+# If there is no specified link script, we look in a number of places for it
ifndef LDSCRIPT
ifeq ($(CONFIG_NAND_U_BOOT),y)
LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
ifeq ($(wildcard $(LDSCRIPT)),)
LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
endif
+ ifeq ($(wildcard $(LDSCRIPT)),)
+ LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
+ # We don't expect a Makefile here
+ LDSCRIPT_MAKEFILE_DIR =
+ endif
ifeq ($(wildcard $(LDSCRIPT)),)
$(error could not find linker script)
endif
# on the fly.
LDPPFLAGS += \
-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
+ -DCPUDIR=$(CPUDIR) \
$(shell $(LD) --version | \
sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
$(obj)u-boot.ais
rm $(obj)spl/u-boot-spl{,-pad}.ais
-$(obj)u-boot.sb: $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
- elftosb -zdf imx28 -c $(TOPDIR)/board/$(BOARDDIR)/u-boot.bd \
- -o $(obj)u-boot.sb
+$(obj)u-boot.bd: $(TOPDIR)/board/$(BOARDDIR)/u-boot.bd
+ sed "s:@@BUILD_DIR@@:$(obj):g" $< > $@
+
+$(obj)u-boot.sb: $(obj)u-boot.bd elftosb $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
+ $(TOPDIR)/tools/elftosb/bld/linux/elftosb -zdf imx28 -c $< -o $@
ifeq ($(CONFIG_SANDBOX),y)
GEN_UBOOT = \
updater:
$(MAKE) -C tools/updater all
+elftosb:
+ $(MAKE) -C $(SUBDIR_TOOLS)/elftosb all
# Explicitly make _depend in subdirs containing multiple targets to prevent
# parallel sub-makes creating .depend files simultaneously.
$(obj)include/autoconf.mk \
$(obj)include/generated/generic-asm-offsets.h \
$(obj)include/generated/asm-offsets.h
- for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \
+ for dir in $(SUBDIRS) $(CPUDIR) $(LDSCRIPT_MAKEFILE_DIR) ; do \
$(MAKE) -C $$dir _depend ; done
TAG_SUBDIRS = $(SUBDIRS)
FIND := find
FINDFLAGS := -L
+checkstack:
+ $(CROSS_COMPILE)objdump -d $(obj)u-boot \
+ `$(FIND) $(obj) -name u-boot-spl -print` | \
+ perl $(src)tools/checkstack.pl $(ARCH)
+
tags ctags:
ctags -w -o $(obj)ctags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
-name '*.[chS]' -print`
$(obj)System.map: $(obj)u-boot
@$(call SYSTEM_MAP,$<) > $(obj)System.map
+checkthumb:
+ @if test $(call cc-version) -lt 0404; then \
+ echo -n '*** Your GCC does not produce working '; \
+ echo 'binaries in THUMB mode.'; \
+ echo '*** Your board is configured for THUMB mode.'; \
+ false; \
+ fi
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
fi;
@$(MKCONFIG) -n $@ SX1 arm arm925t sx1
-#########################################################################
-## XScale Systems
-#########################################################################
-
-pdnb3_config \
-scpu_config: unconfig
- @mkdir -p $(obj)include
- @if [ "$(findstring scpu_,$@)" ] ; then \
- echo "#define CONFIG_SCPU" >>$(obj)include/config.h ; \
- fi
- @$(MKCONFIG) -n $@ -a pdnb3 arm ixp pdnb3 prodrive
-
#########################################################################
## ARM1176 Systems
#########################################################################
@rm -f $(obj)MLO
@rm -f $(TIMESTAMP_FILE) $(VERSION_FILE)
@find $(OBJTREE) -type f \
- \( -name 'core' -o -name '*.bak' -o -name '*~' \
+ \( -name 'core' -o -name '*.bak' -o -name '*~' -o -name '*.su' \
-o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \
| xargs rm -f