summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-08-23 02:47:59 -0400
committerWolfgang Denk <wd@denx.de>2009-08-23 22:33:33 +0200
commit6ac9f47977a9fc1876979871eeb14f26ba1bdbe6 (patch)
tree49a04782109977087bb9adfea3feac51e073821e /Makefile
parent2ed0869d30602eb660569eababb8fedff36bd23a (diff)
downloadu-boot-6ac9f47977a9fc1876979871eeb14f26ba1bdbe6.tar.gz
u-boot-6ac9f47977a9fc1876979871eeb14f26ba1bdbe6.tar.xz
u-boot-6ac9f47977a9fc1876979871eeb14f26ba1bdbe6.zip
start a linker script helper file
Start a common header file for common linker script code (such as workarounds for older linkers) rather than doing this in the build system. As fallout, we no longer execute the linker every time config.mk is included by a build file (which can easily be 70+ times), but rather only execute it once. This also fixes a bug in the major version checking by creating a macro to easily compare versions and keep people from making the same common mistake (forgetting to check major and minor together). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 8fb6562974..02393b680b 100644
--- a/Makefile
+++ b/Makefile
@@ -267,6 +267,14 @@ endif
PLATFORM_LIBS += $(PLATFORM_LIBGCC)
export PLATFORM_LIBS
+# Special flags for CPP when processing the linker script.
+# Pass the version down so we can handle backwards compatibility
+# on the fly.
+LDPPFLAGS += \
+ -include $(TOPDIR)/include/u-boot/u-boot.lds.h \
+ $(shell $(LD) --version | \
+ sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
+
ifeq ($(CONFIG_NAND_U_BOOT),y)
NAND_SPL = nand_spl
U_BOOT_NAND = $(obj)u-boot-nand.bin