diff --git a/Makefile b/Makefile index ddacdc370b..cc2d27ce7f 100644 --- a/Makefile +++ b/Makefile @@ -114,18 +114,6 @@ CC:=clang -m32 -mno-mmx -mno-sse -no-integrated-as HOSTCC:=clang endif -ifeq ($(CONFIG_CCACHE),y) -CCACHE:=$(word 1,$(wildcard $(addsuffix /ccache,$(subst :, ,$(PATH))))) -ifeq ($(CCACHE),) -$(error ccache selected, but not found in PATH) -endif -CCACHE:=CCACHE_COMPILERCHECK=content CCACHE_BASEDIR=$(top) $(CCACHE) -CC := $(CCACHE) $(CC) -HOSTCC := $(CCACHE) $(HOSTCC) -HOSTCXX := $(CCACHE) $(HOSTCXX) -ROMCC_BIN := $(CCACHE) $(ROMCC_BIN) -endif - strip_quotes = $(subst ",,$(subst \",,$(1))) # The primary target needs to be here before we include the diff --git a/toolchain.inc b/toolchain.inc index bfa604b986..568097e008 100644 --- a/toolchain.inc +++ b/toolchain.inc @@ -19,6 +19,24 @@ ARCH_SUPPORTED := armv7 x86_32 +# ccache integration +ifeq ($(CONFIG_CCACHE),y) + +CCACHE:=$(word 1,$(wildcard $(addsuffix /ccache,$(subst :, ,$(PATH))))) +ifeq ($(CCACHE),) +$(error ccache selected, but not found in PATH) +endif + +export CCACHE_COMPILERCHECK=content +export CCACHE_BASEDIR=$(top) + +$(foreach arch,$(ARCH_SUPPORTED), \ + $(eval CC_$(arch):=$(CCACHE) $(CC_$(arch)))) + +HOSTCC:=$(CCACHE) $(HOSTCC) +HOSTCXX:=$(CCACHE) $(HOSTCXX) +ROMCC=$(CCACHE) $(ROMCC_BIN) +endif # scan-build integration ifneq ($(CCC_ANALYZER_OUTPUT_FORMAT),) @@ -28,7 +46,7 @@ export CCC_ANALYZER_ANALYSIS := -analyzer-opt-analyze-headers endif $(foreach arch,$(ARCH_SUPPORTED), \ - $(eval CC_$(arch):=CCC_CC=$(CC_$(arch)) $(CC) )) + $(eval CC_$(arch):=CCC_CC="$(CC_$(arch))" $(CC) )) HOSTCC:=CCC_CC="$(HOSTCC)" $(CC) HOSTCXX:=CCC_CXX="$(HOSTCXX)" $(CXX)