summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile3
-rw-r--r--tools/ccache/Makefile49
2 files changed, 51 insertions, 1 deletions
diff --git a/tools/Makefile b/tools/Makefile
index d03ab38..8c5f699 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,6 +8,7 @@
#
include $(TOPDIR)/rules.mk
TARGETS-y:=sed sstrip ipkg-utils ext2fs squashfs mtd-utils lzma mkimage firmware-utils
+TARGETS-$(CONFIG_CCACHE) += ccache
TARGETS_DOWNLOAD:=$(patsubst %,%-download,$(TARGETS-y))
TARGETS_PREPARE:=$(patsubst %,%-prepare,$(TARGETS-y))
@@ -28,7 +29,7 @@ ifneq ($(shell $(SCRIPT_DIR)/timestamp.pl -p . $(STAMP)),$(STAMP))
$(STAMP): $(TARGETS_INSTALL)
endif
-$(STAMP):
+$(STAMP): $(TOPDIR)/.config
mkdir -p $(shell dirname $@)
touch $@
diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile
new file mode 100644
index 0000000..e8e85b4
--- /dev/null
+++ b/tools/ccache/Makefile
@@ -0,0 +1,49 @@
+#
+# 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 ($(strip $(shell which ccache >/dev/null && echo found)),found)
+ 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
+ $(call Build/Clean/Default)
+ endef
+else
+ define Build/Prepare
+ endef
+ define Build/Configure
+ endef
+ define Build/Compile
+ endef
+ define Build/Clean
+ endef
+endif
+
+$(eval $(call HostBuild))