aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-11-14 17:51:32 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-11-14 17:51:32 +0000
commit44aa03f2f9da7fbe9d18107b0cab73ae9ef6b233 (patch)
tree16c4cab9ac6425cf1588707a608dbba763fbeeea /target
parentac141eb6675f822dc00e67cd47224a230ce01864 (diff)
downloadupstream-44aa03f2f9da7fbe9d18107b0cab73ae9ef6b233.tar.gz
upstream-44aa03f2f9da7fbe9d18107b0cab73ae9ef6b233.tar.bz2
upstream-44aa03f2f9da7fbe9d18107b0cab73ae9ef6b233.zip
Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain will zipped and saved under $(TOPDIR)/bin directory.
Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> SVN-Revision: 18419
Diffstat (limited to 'target')
-rw-r--r--target/Makefile4
-rw-r--r--target/toolchain/Config.in6
-rw-r--r--target/toolchain/Makefile53
-rw-r--r--target/toolchain/files/README.TOOLCHAIN2
4 files changed, 63 insertions, 2 deletions
diff --git a/target/Makefile b/target/Makefile
index 3d36d26718..ff547f606f 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -6,9 +6,9 @@
#
curdir:=target
-$(curdir)/builddirs:=linux sdk imagebuilder
+$(curdir)/builddirs:=linux sdk imagebuilder toolchain
$(curdir)/builddirs-default:=linux
-$(curdir)/builddirs-install:=linux $(if $(CONFIG_SDK),sdk) $(if $(CONFIG_IB),imagebuilder)
+$(curdir)/builddirs-install:=linux $(if $(CONFIG_SDK),sdk) $(if $(CONFIG_IB),imagebuilder) $(if $(CONFIG_MAKE_TOOLCHAIN),toolchain)
$(curdir)/imagebuilder/prepare:=$(curdir)/linux/install
diff --git a/target/toolchain/Config.in b/target/toolchain/Config.in
new file mode 100644
index 0000000000..18c3ab544d
--- /dev/null
+++ b/target/toolchain/Config.in
@@ -0,0 +1,6 @@
+config MAKE_TOOLCHAIN
+ bool "Build the OpenWrt based Toolchain"
+ depends !EXTERNAL_TOOLCHAIN
+ help
+ This is essentially the toolchain created by OpenWrt.
+
diff --git a/target/toolchain/Makefile b/target/toolchain/Makefile
new file mode 100644
index 0000000000..e9b452ec7f
--- /dev/null
+++ b/target/toolchain/Makefile
@@ -0,0 +1,53 @@
+#
+# 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
diff --git a/target/toolchain/files/README.TOOLCHAIN b/target/toolchain/files/README.TOOLCHAIN
new file mode 100644
index 0000000000..40bfccceb4
--- /dev/null
+++ b/target/toolchain/files/README.TOOLCHAIN
@@ -0,0 +1,2 @@
+This is the OpenWrt SDK. It contains just the toolchain created
+by buildroot.