From fd1b50c5ff9c288040abf5e78815151327d32e0e Mon Sep 17 00:00:00 2001 From: Ilya Yanok Date: Mon, 20 Jun 2011 12:45:37 +0000 Subject: config.mk: move LDSCRIPT processing to the top-level Makefile Upstream-Status: Applied 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 Acked-by: Mike Frysinger --- 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