Add ccache if not installed/installable on the host-system
Add ccache if not installed/installable on the host-system


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5758 3c298f89-4303-0410-b956-a3cf2f4a3e73

--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -10,6 +10,7 @@
 
 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 @@
 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

--- /dev/null
+++ b/toolchain/ccache/Makefile
@@ -1,1 +1,43 @@
+# 
+# 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))
+

comments