summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/final
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-30 18:12:19 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-30 18:12:19 +0000
commitb5d071eb9b38e3ea1f0eaf753e5c1fdcbd7a9f61 (patch)
treeed0c23bccea8b11503d55ce5e71d02f61f3621ac /toolchain/gcc/final
parent40b6fce4a15c12e548c0b4fbcff29d35dd2c9557 (diff)
toolchain/gcc: fix installing the toolchain after removing the toolchain dir without a full rebuild
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32554 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/gcc/final')
-rw-r--r--toolchain/gcc/final/Makefile10
1 files changed, 8 insertions, 2 deletions
diff --git a/toolchain/gcc/final/Makefile b/toolchain/gcc/final/Makefile
index b0fe20023..59a5b2497 100644
--- a/toolchain/gcc/final/Makefile
+++ b/toolchain/gcc/final/Makefile
@@ -28,14 +28,19 @@ ifneq ($(CONFIG_SJLJ_EXCEPTIONS),)
--enable-sjlj-exceptions
endif
-define Host/Configure
- mkdir -p $(GCC_BUILD_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
+define CleanupToolchain
+ $(INSTALL_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
# Important! Required for limits.h to be fixed.
rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
ln -sf ../include $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
ln -sf ../lib $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
$(if $(CONFIG_mips64)$(CONFIG_mips64el)$(CONFIG_x86_64),ln -sf ../lib64 $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib64)
+endef
+
+define Host/Configure
+ $(CleanupToolchain)
+ mkdir -p $(GCC_BUILD_DIR)
(cd $(GCC_BUILD_DIR) && rm -f config.cache; \
$(GCC_CONFIGURE) \
);
@@ -59,6 +64,7 @@ define SetupExtraArch
endef
define Host/Install
+ $(CleanupToolchain)
$(_SINGLE)$(GCC_MAKE) -C $(GCC_BUILD_DIR) install
# Set up the symlinks to enable lying about target name.
set -e; \