X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Ftoolchain%2FMakefile;h=ef2dc68a97e433917f8e9e8f6727e5b28d60c262;hp=e9b452ec7f1fe0c086eedc4b3895252fd71ada91;hb=aa100b66f2cc5b7481892b265dc691678541d905;hpb=44aa03f2f9da7fbe9d18107b0cab73ae9ef6b233 diff --git a/target/toolchain/Makefile b/target/toolchain/Makefile index e9b452ec7f..ef2dc68a97 100644 --- a/target/toolchain/Makefile +++ b/target/toolchain/Makefile @@ -9,16 +9,14 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk -include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/version.mk override MAKEFLAGS= -PKG_OS:=$(shell uname -s) -PKG_CPU:=$(shell uname -m) - -TOOLCHAIN_NAME:=OpenWrt-Toolchain-$(BOARD)-for-$(ARCH)-gcc-$(GCCV)_$(LIBC)-$(LIBCV) +TOOLCHAIN_NAME:=$(VERSION_DIST_SANITIZED)-toolchain-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))_gcc-$(GCCV)$(DIR_SUFFIX).$(HOST_OS)-$(HOST_ARCH) TOOLCHAIN_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME) EXCLUDE_DIRS:=*/ccache \ + */initial \ */stamp \ */stampfiles \ */man \ @@ -26,20 +24,40 @@ EXCLUDE_DIRS:=*/ccache \ all: compile +TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) + $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2: clean mkdir -p $(TOOLCHAIN_BUILD_DIR) $(TAR) -cf - -C $(TOPDIR)/staging_dir/ \ $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \ - toolchain-$(ARCH)_gcc-$(GCCV)_$(LIBC)-$(LIBCV) | \ + toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) | \ $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR) $(CP) $(TOPDIR)/LICENSE ./files/README.TOOLCHAIN \ $(TOOLCHAIN_BUILD_DIR)/ + $(CP) ./files/wrapper.sh $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + chmod +x $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + (cd $(TOOLCHAIN_PREFIX)/bin; \ + for app in cc gcc g++ c++ cpp ld as ; do \ + [ -f $(REAL_GNU_TARGET_NAME)-$${app} ] && mv $(REAL_GNU_TARGET_NAME)-$${app} $(REAL_GNU_TARGET_NAME)-$${app}.bin ; \ + ln -sf $(REAL_GNU_TARGET_NAME)-wrapper.sh $(REAL_GNU_TARGET_NAME)-$${app} ; \ + done; \ + ) + + @-( \ + find \ + $(TOOLCHAIN_BUILD_DIR)/*/bin \ + $(TOOLCHAIN_BUILD_DIR)/*/*/bin \ + $(TOOLCHAIN_BUILD_DIR)/*/libexec \ + -type f; \ + ) | xargs strip 2>/dev/null >/dev/null + echo REVISION:="$(REVISION)" > $(TOOLCHAIN_BUILD_DIR)/version.mk find $(TOOLCHAIN_BUILD_DIR) -name .git | $(XARGS) rm -rf find $(TOOLCHAIN_BUILD_DIR) -name .svn | $(XARGS) rm -rf find $(TOOLCHAIN_BUILD_DIR) -name CVS | $(XARGS) rm -rf + mkdir -p $(BIN_DIR) (cd $(BUILD_DIR); \ tar cfj $@ $(TOOLCHAIN_NAME); \ )