[tools] add ccache wrapper

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32075 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
John Crispin 2012-06-06 13:27:11 +00:00
parent 3cb13b3da5
commit e84fbcf5bc
4 changed files with 20 additions and 2 deletions

View File

@ -188,8 +188,12 @@ INSTALL_DATA:=install -m0644
INSTALL_CONF:=install -m0600
ifneq ($(CONFIG_CCACHE),)
TARGET_CC:= ccache $(TARGET_CC)
TARGET_CXX:= ccache $(TARGET_CXX)
TARGET_CC_NOCACHE:=$(TARGET_CC)
TARGET_CXX_NOCACHE:=$(TARGET_CXX)
export TARGET_CC_NOCACHE
export TARGET_CXX_NOCACHE
TARGET_CC:= ccache_cc
TARGET_CXX:= ccache_cxx
HOSTCC:= ccache $(HOSTCC)
endif

View File

@ -17,6 +17,11 @@ PKG_CAT:=zcat
include $(INCLUDE_DIR)/host-build.mk
define Host/Install/ccache
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
$(CP) ./files/* $(STAGING_DIR_HOST)/bin/
endef
ifneq ($(strip $(shell which ccache >/dev/null && echo found)),found)
define Host/Compile
$(MAKE) CC="$(HOSTCC_NOCACHE)" -C $(HOST_BUILD_DIR)
@ -26,6 +31,10 @@ ifneq ($(strip $(shell which ccache >/dev/null && echo found)),found)
-$(MAKE) -C $(HOST_BUILD_DIR) uninstall
$(call Host/Clean/Default)
endef
define Host/Install
$(call Host/Install/Default)
$(call Host/Install/ccache)
endef
else
define Host/Prepare
endef
@ -34,6 +43,7 @@ else
define Host/Compile
endef
define Host/Install
$(call Host/Install/ccache)
endef
define Host/Clean
endef

2
tools/ccache/files/ccache_cc Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
exec ccache "${TARGET_CC_NOCACHE}" "$@"

2
tools/ccache/files/ccache_cxx Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
exec ccache "${TARGET_CXX_NOCACHE}" "$@"