Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain will zipped and saved under $(TOPDIR)/bin directory.
[openwrt.org/openwrt.git] / target / toolchain / Makefile
blob:a/target/toolchain/Makefile -> blob:b/target/toolchain/Makefile
--- a/target/toolchain/Makefile
+++ b/target/toolchain/Makefile
@@ -1,1 +1,54 @@
+#
+# 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)/host.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_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME)
+EXCLUDE_DIRS:=*/ccache \
+	*/stamp \
+	*/stampfiles \
+	*/man \
+	*/info
+
+all: compile
+
+$(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) | \
+	       $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR)
+
+	$(CP)  $(TOPDIR)/LICENSE ./files/README.TOOLCHAIN \
+		$(TOOLCHAIN_BUILD_DIR)/
+
+	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
+	(cd $(BUILD_DIR); \
+		tar cfj $@ $(TOOLCHAIN_NAME); \
+	)
+
+download:
+prepare:
+compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2
+install: compile
+
+clean:
+	rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2
+

comments