83 lines
2.4 KiB
Diff
83 lines
2.4 KiB
Diff
|
From fd1b50c5ff9c288040abf5e78815151327d32e0e Mon Sep 17 00:00:00 2001
|
||
|
From: Ilya Yanok <yanok@emcraft.com>
|
||
|
Date: Mon, 20 Jun 2011 12:45:37 +0000
|
||
|
Subject: config.mk: move LDSCRIPT processing to the top-level Makefile
|
||
|
|
||
|
Upstream-Status: Accepted
|
||
|
|
||
|
LDSCRIPT is used only from the top-level Makefile and only when the
|
||
|
system is configured so we can move LDSCRIPT and CONFIG_SYS_LDSCRIPT
|
||
|
related logic into the top level Makefile and under configured condition
|
||
|
to avoid errors when building tools from unconfigured tree.
|
||
|
|
||
|
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
|
||
|
Acked-by: Mike Frysinger <vapier@gentoo.org>
|
||
|
---
|
||
|
Makefile | 30 ++++++++++++++++++++++++++++++
|
||
|
config.mk | 8 --------
|
||
|
2 files changed, 30 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/Makefile b/Makefile
|
||
|
index ece91ab..358c410 100644
|
||
|
--- a/Makefile
|
||
|
+++ b/Makefile
|
||
|
@@ -163,6 +163,36 @@ endif
|
||
|
# load other configuration
|
||
|
include $(TOPDIR)/config.mk
|
||
|
|
||
|
+# If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
|
||
|
+# that (or fail if absent). Otherwise, search for a linker script in a
|
||
|
+# standard location.
|
||
|
+
|
||
|
+ifndef LDSCRIPT
|
||
|
+ #LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
|
||
|
+ ifdef CONFIG_SYS_LDSCRIPT
|
||
|
+ # need to strip off double quotes
|
||
|
+ LDSCRIPT := $(subst ",,$(CONFIG_SYS_LDSCRIPT))
|
||
|
+ endif
|
||
|
+endif
|
||
|
+
|
||
|
+ifndef LDSCRIPT
|
||
|
+ ifeq ($(CONFIG_NAND_U_BOOT),y)
|
||
|
+ LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
|
||
|
+ ifeq ($(wildcard $(LDSCRIPT)),)
|
||
|
+ LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds
|
||
|
+ endif
|
||
|
+ endif
|
||
|
+ ifeq ($(wildcard $(LDSCRIPT)),)
|
||
|
+ LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
|
||
|
+ endif
|
||
|
+ ifeq ($(wildcard $(LDSCRIPT)),)
|
||
|
+ LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
|
||
|
+ endif
|
||
|
+ ifeq ($(wildcard $(LDSCRIPT)),)
|
||
|
+$(error could not find linker script)
|
||
|
+ endif
|
||
|
+endif
|
||
|
+
|
||
|
#########################################################################
|
||
|
# U-Boot objects....order is important (i.e. start must be first)
|
||
|
|
||
|
diff --git a/config.mk b/config.mk
|
||
|
index fa46ff1..59c4c93 100644
|
||
|
--- a/config.mk
|
||
|
+++ b/config.mk
|
||
|
@@ -153,14 +153,6 @@ endif
|
||
|
RELFLAGS= $(PLATFORM_RELFLAGS)
|
||
|
DBGFLAGS= -g # -DDEBUG
|
||
|
OPTFLAGS= -Os #-fomit-frame-pointer
|
||
|
-ifndef LDSCRIPT
|
||
|
-#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
|
||
|
-ifeq ($(CONFIG_NAND_U_BOOT),y)
|
||
|
-LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
|
||
|
-else
|
||
|
-LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
|
||
|
-endif
|
||
|
-endif
|
||
|
OBJCFLAGS += --gap-fill=0xff
|
||
|
|
||
|
gccincdir := $(shell $(CC) -print-file-name=include)
|
||
|
--
|
||
|
1.7.5.4
|
||
|
|