123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #
- # Copyright (C) 2008-2009 Industrie Dial Face S.p.A.
- # Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
- # Copyright (C) 2006-2008 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
- include $(TOPDIR)/rules.mk
- include $(INCLUDE_DIR)/kernel.mk
- include $(INCLUDE_DIR)/version.mk
- override MAKEFLAGS=
- 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:= \
- */initial \
- */stamp \
- */stampfiles \
- */man \
- */info
- all: compile
- TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX)
- $(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)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) | \
- $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR)
- $(CP) \
- $(TOPDIR)/LICENSES \
- $(TOPDIR)/COPYING \
- ./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 -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.xz
- install: compile
- clean:
- rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.xz
|