summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-08-06 23:52:15 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-08-06 23:52:15 +0200
commit9dea6fb2a581959eba820fafa42fda96879d083c (patch)
tree8d828363f10c3dee34ee5daee58cc82cc4de20d7
parent760fa5d875c7d6e6375ec2c220d700b5002826bd (diff)
downloadembtoolkit-9dea6fb2a581959eba820fafa42fda96879d083c.tar.gz
embtoolkit-9dea6fb2a581959eba820fafa42fda96879d083c.tar.bz2
embtoolkit-9dea6fb2a581959eba820fafa42fda96879d083c.tar.xz
Toolchain: uClibc: Build the toolchain in 3 stages as for eglibc
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r--mk/toolchain.mk21
-rwxr-xr-xmk/uclibc.mk49
2 files changed, 42 insertions, 28 deletions
diff --git a/mk/toolchain.mk b/mk/toolchain.mk
index b48266d..57168a8 100644
--- a/mk/toolchain.mk
+++ b/mk/toolchain.mk
@@ -88,20 +88,21 @@ EMBTK_CMAKE_INSTALL := $(if $(CONFIG_EMBTK_HOST_HAVE_CMAKE),cmake_install,)
ifeq ($(CONFIG_EMBTK_CLIB_EGLIBC),y)
#EGLIBC
include $(EMBTK_ROOT)/mk/eglibc.mk
-TOOLCHAINBUILD := mkinitialpath ccache_install \
- $(AUTOTOOLS_INSTALL) $(EMBTK_CMAKE_INSTALL) \
- kernel-headers_install\
- gmphost_install mpfrhost_install mpchost_install \
- binutils_install gcc1_install eglibc-headers_install \
+TOOLCHAINBUILD := mkinitialpath ccache_install \
+ $(AUTOTOOLS_INSTALL) $(EMBTK_CMAKE_INSTALL) \
+ kernel-headers_install \
+ gmphost_install mpfrhost_install mpchost_install \
+ binutils_install gcc1_install eglibc-headers_install \
gcc2_install eglibc_install gcc3_install
else
#uClibc
include $(EMBTK_ROOT)/mk/uclibc.mk
-TOOLCHAINBUILD := mkinitialpath ccache_install \
- $(AUTOTOOLS_INSTALL) $(EMBTK_CMAKE_INSTALL) \
- kernel-headers_install \
- gmphost_install mpfrhost_install mpchost_install \
- binutils_install gcc1_install uclibc_install gcc3_install
+TOOLCHAINBUILD := mkinitialpath ccache_install \
+ $(AUTOTOOLS_INSTALL) $(EMBTK_CMAKE_INSTALL) \
+ kernel-headers_install \
+ gmphost_install mpfrhost_install mpchost_install \
+ binutils_install gcc1_install uclibc_headers_install \
+ gcc2_install uclibc_install gcc3_install
endif
#targets
diff --git a/mk/uclibc.mk b/mk/uclibc.mk
index 3874605..e13f1b0 100755
--- a/mk/uclibc.mk
+++ b/mk/uclibc.mk
@@ -39,26 +39,39 @@ EMBTK_UCLIBC_CFLAGS += $(EMBTK_TARGET_ABI) $(EMBTK_TARGET_FLOAT_CFLAGS)
EMBTK_UCLIBC_CFLAGS += $(EMBTK_TARGET_MARCH) -pipe
uclibc_install: $(UCLIBC_BUILD_DIR)/.installed
+uclibc_headers_install: $(UCLIBC_BUILD_DIR)/.headers_installed
-$(UCLIBC_BUILD_DIR)/.installed: uclibc_download \
+$(UCLIBC_BUILD_DIR)/.installed:
+ $(call embtk_generic_msg,"Build and install uClibc-$(UCLIBC_VERSION) ...")
+ $(Q)$(MAKE) -C $(UCLIBC_BUILD_DIR) PREFIX=$(SYSROOT)/ \
+ CROSS_COMPILER_PREFIX="$(TOOLS)/bin/$(STRICT_GNU_TARGET)-" \
+ SHARED_LIB_LOADER_PREFIX="/$(LIBDIR)/" \
+ MULTILIB_DIR="/$(LIBDIR)/" \
+ RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" \
+ KERNEL_HEADERS="$(SYSROOT)/usr/include/" \
+ UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" install
+
+$(UCLIBC_BUILD_DIR)/.headers_installed: uclibc_download \
$(UCLIBC_BUILD_DIR)/.decompressed $(UCLIBC_BUILD_DIR)/.configured
- $(call embtk_generic_msg,"Building and installing \
- uClibc-$(UCLIBC_VERSION) ...")
- $(MAKE) -C $(UCLIBC_BUILD_DIR) oldconfig
- $(MAKE) -C $(UCLIBC_BUILD_DIR) PREFIX=$(SYSROOT)/ \
- CROSS_COMPILER_PREFIX="$(TOOLS)/bin/$(STRICT_GNU_TARGET)-" \
- SHARED_LIB_LOADER_PREFIX="/$(LIBDIR)/" \
- MULTILIB_DIR="/$(LIBDIR)/" \
- RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" \
- KERNEL_HEADERS="$(SYSROOT)/usr/include/" \
- UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" install_headers
- $(MAKE) -C $(UCLIBC_BUILD_DIR) PREFIX=$(SYSROOT)/ \
- CROSS_COMPILER_PREFIX="$(TOOLS)/bin/$(STRICT_GNU_TARGET)-" \
- SHARED_LIB_LOADER_PREFIX="/$(LIBDIR)/" \
- MULTILIB_DIR="/$(LIBDIR)/" \
- RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" \
- KERNEL_HEADERS="$(SYSROOT)/usr/include/" \
- UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" install
+ $(call embtk_generic_msg,"Install uClibc-$(UCLIBC_VERSION) headers ...")
+ $(Q)$(MAKE) -C $(UCLIBC_BUILD_DIR) oldconfig
+ $(Q)$(MAKE) -C $(UCLIBC_BUILD_DIR) PREFIX=$(SYSROOT)/ \
+ CROSS_COMPILER_PREFIX="$(TOOLS)/bin/$(STRICT_GNU_TARGET)-" \
+ SHARED_LIB_LOADER_PREFIX="/$(LIBDIR)/" \
+ MULTILIB_DIR="/$(LIBDIR)/" \
+ RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" \
+ KERNEL_HEADERS="$(SYSROOT)/usr/include/" \
+ UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" install_headers
+ $(Q)$(MAKE) -C $(UCLIBC_BUILD_DIR) PREFIX=$(SYSROOT)/ \
+ CROSS_COMPILER_PREFIX="$(TOOLS)/bin/$(STRICT_GNU_TARGET)-" \
+ SHARED_LIB_LOADER_PREFIX="/$(LIBDIR)/" \
+ MULTILIB_DIR="/$(LIBDIR)/" \
+ RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" \
+ KERNEL_HEADERS="$(SYSROOT)/usr/include/" \
+ UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" install_startfiles
+ $(Q)$(TOOLS)/bin/$(STRICT_GNU_TARGET)-gcc -nostdlib -nostartfiles \
+ -shared -x c /dev/null -o $(SYSROOT)/usr/$(LIBDIR)/libc.so
+ $(Q)touch $@
uclibc_download:
$(call embtk_generic_msg,"downloading uClibc-$(UCLIBC_VERSION) \