Add ccache if not installed/installable on the host-system
authorFlorian Fainelli <florian@openwrt.org>
Mon, 11 Dec 2006 16:42:57 +0000 (16:42 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 11 Dec 2006 16:42:57 +0000 (16:42 +0000)
SVN-Revision: 5758

toolchain/Makefile
toolchain/ccache/Makefile [new file with mode: 0644]

index 3f12218c29014f21b89c4bd0ade05c1bf0eaac05..ceae2269a6c82f4c1ae6d06205d8a567cde10101 100644 (file)
@@ -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 (file)
index 0000000..348aed0
--- /dev/null
@@ -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))