summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/Makefile3
-rw-r--r--toolchain/ccache/Makefile42
2 files changed, 44 insertions, 1 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 3f12218c29..ceae2269a6 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
TARGETS-y:=kernel-headers
TARGETS-$(CONFIG_GDB) += gdb
+TARGETS-$(CONFIG_CCACHE) += ccache
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
TARGETS-y+=binutils gcc uClibc
endif
@@ -24,7 +25,7 @@ install: $(TARGETS_INSTALL)
clean: $(TARGETS_CLEAN)
$(TARGETS_INSTALL): $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
-uClibc-prepare: kernel-headers-prepare
+uClibc-prepare: ccache-prepare kernel-headers-prepare
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
binutils-prepare: uClibc-prepare
gcc-prepare: binutils-install
diff --git a/toolchain/ccache/Makefile b/toolchain/ccache/Makefile
new file mode 100644
index 0000000000..348aed0fce
--- /dev/null
+++ b/toolchain/ccache/Makefile
@@ -0,0 +1,42 @@
+#
+# Copyright (C) 2006 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)/target.mk
+
+PKG_NAME:=ccache
+PKG_VERSION:=2.4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://samba.org/ftp/ccache/
+PKG_MD5SUM:=73c1ed1e767c1752dd0f548ec1e66ce7
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/host-build.mk
+
+ifneq ($(shell which ccache),)
+ define Build/Configure
+ $(call Build/Configure/Default)
+ endef
+
+ define Build/Compile
+ $(MAKE) CC="$(HOSTCC)" -C $(PKG_BUILD_DIR)
+ endef
+
+ define Build/Install
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(STAGING_DIR)" \
+ install
+ endef
+
+ define Build/Clean
+ $(MAKE) -C $(PKG_BUILD_DIR) uninstall
+ -$(MAKE) -C $(PKG_BUILD_DIR) clean
+ endef
+endif
+$(eval $(call HostBuild))