From: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH v1 3/9] Extend build-system for SPL framework
Date: Wed, 13 Jul 2011 17:11:03 +0200 [thread overview]
Message-ID: <1310569869-31810-4-git-send-email-daniel.schwierzeck@googlemail.com> (raw)
In-Reply-To: <1310569869-31810-1-git-send-email-daniel.schwierzeck@googlemail.com>
Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
---
Makefile | 3 ++-
config.mk | 36 +++++++++++++++++++++++++++++++++++-
2 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 62c2078..9478059 100644
--- a/Makefile
+++ b/Makefile
@@ -104,10 +104,11 @@ $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
endif # ifneq ($(BUILD_DIR),)
OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
+SPLTREE := $(OBJTREE)/spl
SRCTREE := $(CURDIR)
TOPDIR := $(SRCTREE)
LNDIR := $(OBJTREE)
-export TOPDIR SRCTREE OBJTREE
+export TOPDIR SRCTREE OBJTREE SPLTREE
MKCONFIG := $(SRCTREE)/mkconfig
export MKCONFIG
diff --git a/config.mk b/config.mk
index 2eb7fa2..8809d7a 100644
--- a/config.mk
+++ b/config.mk
@@ -23,19 +23,31 @@
#########################################################################
-ifneq ($(OBJTREE),$(SRCTREE))
ifeq ($(CURDIR),$(SRCTREE))
dir :=
else
dir := $(subst $(SRCTREE)/,,$(CURDIR))
endif
+ifneq ($(OBJTREE),$(SRCTREE))
+# Create object files for SPL in a separate directory
+ifeq ($(CONFIG_SPL_BUILD),y)
+obj := $(if $(dir),$(SPLTREE)/$(dir)/,$(SPLTREE)/)
+else
obj := $(if $(dir),$(OBJTREE)/$(dir)/,$(OBJTREE)/)
+endif
src := $(if $(dir),$(SRCTREE)/$(dir)/,$(SRCTREE)/)
$(shell mkdir -p $(obj))
else
+# Create object files for SPL in a separate directory
+ifeq ($(CONFIG_SPL_BUILD),y)
+obj := $(if $(dir),$(SPLTREE)/$(dir)/,$(SPLTREE)/)
+
+$(shell mkdir -p $(obj))
+else
obj :=
+endif
src :=
endif
@@ -158,12 +170,29 @@ OBJCFLAGS += --gap-fill=0xff
gccincdir := $(shell $(CC) -print-file-name=include)
+# Use section garbage collect for SPL if enabled by board config
+# and current ARCH, CPU or SOC did not enable it already
+ifeq ($(CONFIG_SPL_BUILD),y)
+ifeq ($(CONFIG_SPL_GC_SECTIONS),y)
+RELFLAGS += -ffunction-sections -fdata-sections
+LDFLAGS_FINAL += --gc-sections
+endif
+endif
+
CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \
-D__KERNEL__
ifneq ($(CONFIG_SYS_TEXT_BASE),)
CPPFLAGS += -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
endif
+ifneq ($(CONFIG_SPL_TEXT_BASE),)
+CPPFLAGS += -DCONFIG_SPL_TEXT_BASE=$(CONFIG_SPL_TEXT_BASE)
+endif
+
+ifeq ($(CONFIG_SPL_BUILD),y)
+CPPFLAGS += -DCONFIG_SPL_BUILD
+endif
+
ifneq ($(RESET_VECTOR_ADDRESS),)
CPPFLAGS += -DRESET_VECTOR_ADDRESS=$(RESET_VECTOR_ADDRESS)
endif
@@ -206,6 +235,11 @@ ifneq ($(CONFIG_SYS_TEXT_BASE),)
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
endif
+LDFLAGS_u-boot-spl += -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL)
+ifneq ($(CONFIG_SPL_TEXT_BASE),)
+LDFLAGS_u-boot-spl += -Ttext $(CONFIG_SPL_TEXT_BASE)
+endif
+
# Location of a usable BFD library, where we define "usable" as
# "built for ${HOST}, supports ${TARGET}". Sensible values are
# - When cross-compiling: the root of the cross-environment
--
1.7.6
next prev parent reply other threads:[~2011-07-13 15:11 UTC|newest]
Thread overview: 172+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-16 8:08 [U-Boot] SPL framework re-design Aneesh V
2011-06-16 10:47 ` Wolfgang Denk
2011-06-16 11:50 ` Aneesh V
2011-06-16 12:15 ` Wolfgang Denk
2011-06-16 13:38 ` Aneesh V
2011-06-16 21:52 ` Wolfgang Denk
2011-06-16 12:55 ` Daniel Schwierzeck
2011-06-16 13:10 ` Andreas Bießmann
2011-06-26 23:17 ` Ilya Yanok
2011-06-27 4:29 ` Aneesh V
2011-06-27 8:24 ` Ilya Yanok
2011-06-27 9:08 ` Aneesh V
2011-06-27 8:42 ` Simon Schwarz
2011-06-27 9:36 ` Wolfgang Denk
2011-06-27 18:42 ` Scott Wood
2011-06-27 20:54 ` Wolfgang Denk
2011-06-27 9:27 ` Wolfgang Denk
2011-06-27 13:42 ` Daniel Schwierzeck
2011-06-27 20:48 ` Wolfgang Denk
2011-06-27 18:34 ` Scott Wood
2011-06-27 20:50 ` Wolfgang Denk
2011-06-27 20:55 ` Scott Wood
2011-06-27 21:10 ` Wolfgang Denk
2011-06-27 21:18 ` Scott Wood
2011-06-27 21:22 ` Wolfgang Denk
2011-06-28 6:54 ` Aneesh V
2011-06-28 16:18 ` Scott Wood
2011-06-29 7:27 ` Aneesh V
2011-06-16 13:57 ` Aneesh V
2011-06-16 14:27 ` Daniel Schwierzeck
2011-06-16 21:55 ` Wolfgang Denk
2011-06-16 21:47 ` Wolfgang Denk
2011-06-17 18:45 ` Daniel Schwierzeck
2011-06-17 18:51 ` Scott Wood
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 0/7] spl framework prototype Aneesh V
2011-07-01 5:20 ` Aneesh V
2011-07-05 16:26 ` [U-Boot] [RFC PATCH 0/4] " Daniel Schwierzeck
2011-07-05 16:26 ` [U-Boot] [RFC PATCH 1/4] Adapt config.mk for usage in spl/Makefile Daniel Schwierzeck
2011-07-05 17:52 ` Mike Frysinger
2011-07-06 8:07 ` Aneesh V
2011-07-08 9:08 ` Wolfgang Denk
2011-07-08 10:20 ` Aneesh V
2011-07-08 11:19 ` Wolfgang Denk
2011-07-08 11:40 ` Aneesh V
2011-07-08 12:37 ` Wolfgang Denk
2011-07-08 11:34 ` Daniel Schwierzeck
2011-07-08 12:25 ` Wolfgang Denk
2011-07-08 13:33 ` Aneesh V
2011-07-08 13:44 ` Wolfgang Denk
2011-07-08 13:52 ` Aneesh V
2011-07-05 16:26 ` [U-Boot] [RFC PATCH 2/4] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Daniel Schwierzeck
2011-07-05 17:53 ` Mike Frysinger
2011-07-08 9:12 ` Wolfgang Denk
2011-07-08 10:28 ` Aneesh V
2011-07-08 11:20 ` Wolfgang Denk
2011-07-05 16:26 ` [U-Boot] [RFC PATCH 3/4] Add new folder and build system for SPL Daniel Schwierzeck
2011-07-08 9:17 ` Wolfgang Denk
2011-07-08 11:32 ` Aneesh V
2011-07-08 12:32 ` Wolfgang Denk
2011-07-08 12:51 ` Aneesh V
2011-07-08 13:04 ` Wolfgang Denk
2011-07-08 13:28 ` Aneesh V
2011-07-08 13:41 ` Wolfgang Denk
2011-07-08 13:50 ` Aneesh V
2011-07-08 11:57 ` Daniel Schwierzeck
2011-07-05 16:26 ` [U-Boot] [RFC PATCH 4/4] Hook spl directory into main Makefile Daniel Schwierzeck
2011-07-08 9:18 ` Wolfgang Denk
2011-07-08 4:40 ` [U-Boot] [RFC PATCH 0/4] spl framework prototype Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 1/7] Adapt config.mk for usage in spl/Makefile Aneesh V
2011-06-29 18:52 ` Mike Frysinger
2011-06-30 5:12 ` Aneesh V
2011-06-30 11:09 ` Daniel Schwierzeck
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 2/7] Use ALL-y style instead of ifeq blocks for better readability and upgradeability Aneesh V
2011-06-29 18:54 ` Mike Frysinger
2011-06-30 5:14 ` Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 3/7] Add new folder and build system for SPL Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 4/7] Hook spl directory into main Makefile Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 5/7] armv7: adapt Makefile for spl building Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 6/7] omap: common spl support for OMAP3/4 Aneesh V
2011-06-30 6:01 ` Heiko Schocher
2011-06-30 6:12 ` Aneesh V
2011-06-30 7:08 ` Andreas Bießmann
2011-07-01 9:27 ` Aneesh V
2011-07-01 9:55 ` Andreas Bießmann
2011-07-01 11:48 ` Aneesh V
2011-07-01 19:51 ` Albert ARIBAUD
2011-07-03 4:47 ` Aneesh V
2011-07-03 6:56 ` Albert ARIBAUD
2011-07-03 7:31 ` Andreas Bießmann
2011-07-03 7:48 ` Albert ARIBAUD
2011-07-03 8:39 ` Aneesh V
2011-06-30 7:53 ` Heiko Schocher
2011-06-30 8:21 ` Simon Schwarz
2011-06-30 10:05 ` Aneesh V
2011-06-30 11:09 ` Albert ARIBAUD
2011-06-30 11:18 ` Aneesh V
2011-06-29 13:09 ` [U-Boot] [RFC PATCH 7/7] omap4: adapt Makefile for spl building Aneesh V
2011-06-17 16:48 ` [U-Boot] SPL framework re-design Aneesh V
2011-06-17 22:28 ` Scott Wood
2011-06-19 10:22 ` V, Aneesh
2011-06-20 16:19 ` Scott Wood
2011-06-21 3:22 ` Aneesh V
2011-06-21 10:59 ` Aneesh V
2011-06-25 8:06 ` Aneesh V
2011-06-25 12:10 ` Wolfgang Denk
2011-06-25 16:11 ` Daniel Schwierzeck
2011-06-27 4:19 ` Aneesh V
2011-06-27 9:27 ` Wolfgang Denk
2011-06-27 14:56 ` Aneesh V
2011-06-27 20:49 ` Wolfgang Denk
2011-06-16 16:45 ` Scott Wood
2011-06-16 22:09 ` Wolfgang Denk
2011-06-16 22:22 ` Scott Wood
2011-06-17 7:02 ` Aneesh V
2011-06-17 7:00 ` Aneesh V
2011-06-28 0:55 ` Graeme Russ
2011-06-28 4:10 ` Wolfgang Denk
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-15 16:22 ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-18 16:06 ` Wolfgang Denk
2011-07-18 16:22 ` Daniel Schwierzeck
2011-07-13 15:11 ` Daniel Schwierzeck [this message]
2011-07-14 5:37 ` [U-Boot] [RFC PATCH v1 3/9] Extend build-system for " Aneesh V
2011-07-14 9:45 ` Wolfgang Denk
2011-07-14 10:02 ` Aneesh V
2011-07-15 16:24 ` [U-Boot] [RFC PATCH v2 " Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-15 12:31 ` Simon Schwarz
2011-07-15 12:41 ` Aneesh V
2011-07-15 13:10 ` Simon Schwarz
2011-07-15 13:35 ` Aneesh V
2011-07-15 14:43 ` Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-13 15:11 ` [U-Boot] [RFC PATCH v1 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-13 15:17 ` [U-Boot] [RFC PATCH v1 0/9] Prototype for generic SPL framework Albert ARIBAUD
2011-07-14 20:06 ` Wolfgang Denk
2011-07-14 20:25 ` Wolfgang Denk
2011-07-15 7:57 ` Aneesh V
2011-07-15 8:35 ` Wolfgang Denk
2011-07-15 15:02 ` Daniel Schwierzeck
2011-07-18 16:09 ` [U-Boot] [PATCH v3 0/9] Add initial support for a " Daniel Schwierzeck
2011-07-18 16:09 ` [U-Boot] [PATCH v3 1/9] Use ALL-y style instead of ifeq blocks for better readability Daniel Schwierzeck
2011-07-19 3:51 ` Vipin Kumar
2011-07-26 12:41 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 2/9] spl: add initial support for a generic SPL framework Daniel Schwierzeck
2011-07-18 17:48 ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-26 12:42 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 3/9] Extend build-system for " Daniel Schwierzeck
2011-07-26 12:42 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 4/9] Hook SPL build-system into toplevel Makefile Daniel Schwierzeck
2011-07-26 12:43 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 5/9] arm: adjust PLATFORM_LIBS for SPL Daniel Schwierzeck
2011-07-19 9:21 ` Albert ARIBAUD
2011-07-19 10:38 ` Aneesh V
2011-07-19 11:03 ` Albert ARIBAUD
2011-07-19 15:51 ` [U-Boot] [PATCH v4 " Daniel Schwierzeck
2011-07-20 7:59 ` Aneesh V
2011-07-26 12:44 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 6/9] scaled down version of generic libraries " Daniel Schwierzeck
2011-07-26 12:44 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 7/9] replace CONFIG_PRELOADER with CONFIG_SPL_BUILD Daniel Schwierzeck
2011-07-26 12:45 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 8/9] spl: Add support for common libraries and drivers Daniel Schwierzeck
2011-07-26 12:45 ` Wolfgang Denk
2011-07-18 16:09 ` [U-Boot] [PATCH v3 9/9] spl: add support for omap-common libraries Daniel Schwierzeck
2011-07-26 12:45 ` Wolfgang Denk
2011-07-20 21:12 ` [U-Boot] [PATCH v3 0/9] Add initial support for a generic SPL framework Paulraj, Sandeep
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1310569869-31810-4-git-send-email-daniel.schwierzeck@googlemail.com \
--to=daniel.schwierzeck@googlemail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.