From: Ilya Yanok Date: Mon, 20 Jun 2011 12:45:37 +0000 (+0000) Subject: config.mk: move LDSCRIPT processing to the top-level Makefile X-Git-Tag: v2011.06~8 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d51dfff7af2ad30c54a4fb99539f3fa4275a1573;p=u-boot config.mk: move LDSCRIPT processing to the top-level Makefile 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 --- diff --git a/Makefile b/Makefile index 41437da2a6..ab3740e54a 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 7ce554ecfe..2eb7fa22e1 100644 --- a/config.mk +++ b/config.mk @@ -154,36 +154,6 @@ RELFLAGS= $(PLATFORM_RELFLAGS) DBGFLAGS= -g # -DDEBUG OPTFLAGS= -Os #-fomit-frame-pointer -# 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 - OBJCFLAGS += --gap-fill=0xff gccincdir := $(shell $(CC) -print-file-name=include)