[massive] add support for alternative C libraries (currently only glibc/eglibc)
[openwrt-10.03/.git] / toolchain / binutils / Makefile
index 3a4e7e8e4a10ec0d3ef99bddc67ff6f131eae8e1..db3ea75d444610f6dd90b7ac953c580079e6b420 100644 (file)
@@ -23,20 +23,28 @@ PATCH_DIR:=./patches/$(PKG_VERSION)
 
 STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
 BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
+
 override CONFIG_AUTOREBUILD=
 
 include $(INCLUDE_DIR)/host-build.mk
 
-EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc)
+EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-$(TARGET_SUFFIX))
 
-define Build/Configure
+define Build/Prepare
+       $(call Build/Prepare/Default)
+       ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
        $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/
+endef
+
+define Build/Configure
        (cd $(PKG_BUILD_DIR); \
                ./configure \
-               --prefix=$(STAGING_DIR_HOST) \
+               --prefix=$(TOOLCHAIN_DIR)/usr \
                --build=$(GNU_HOST_NAME) \
                --host=$(GNU_HOST_NAME) \
                --target=$(REAL_GNU_TARGET_NAME) \
+               --with-sysroot=$(TOOLCHAIN_DIR) \
+               --disable-multilib \
                --disable-werror \
                --disable-nls \
                $(EXTRA_TARGET) \
@@ -53,4 +61,10 @@ define Build/Install
        $(MAKE) -C $(PKG_BUILD_DIR) install
 endef
 
+define Build/Clean
+       rm -rf \
+               $(PKG_BUILD_DIR) \
+               $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
+endef
+
 $(eval $(call HostBuild))