ramips: sercomm-payload: use pide-file argument
[openwrt/staging/dedeckeh.git] / target / toolchain / Makefile
index fa9405f6cc2fa9af77883a204f8dd1d499e517d1..c33bccee69190f509cb4de888189321c1a87f2cf 100644 (file)
@@ -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 \
+EXCLUDE_DIRS:= \
+       */initial \
        */stamp \
        */stampfiles \
        */man \
@@ -26,38 +24,52 @@ EXCLUDE_DIRS:=*/ccache \
 
 all: compile
 
-TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)_gcc-$(GCCV)_$(LIBC)-$(LIBCV)
+TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX)
 
-$(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2: clean
+$(BIN_DIR)/$(TOOLCHAIN_NAME).tar.xz: 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 \
+       $(CP) \
+               $(TOPDIR)/LICENSES \
+               $(TOPDIR)/COPYING \
+               ./files/README.TOOLCHAIN \
                $(TOOLCHAIN_BUILD_DIR)/
 
-       $(CP) ./files/wrapper.sh $(TOOLCHAIN_PREFIX)/usr/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
-       chmod +x $(TOOLCHAIN_PREFIX)/usr/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
-       (cd $(TOOLCHAIN_PREFIX)/usr/bin; \
+       $(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); \
+               tar -I '$(STAGING_DIR_HOST)/bin/xz -7e -T$(if $(filter 1,$(NPROC)),2,0)' -cf $@ $(TOOLCHAIN_NAME) \
+               --mtime="$(shell date --date=@$(SOURCE_DATE_EPOCH))"; \
        )
 
 download:
 prepare:
-compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2
+compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.xz
 install: compile
 
 clean:
-       rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2
+       rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.xz