
On Aug 21, 2013, at 7:51 PM, Marek Vasut wrote:
Dear York Sun,
On 05/20/2013 10:25 AM, Marek Vasut wrote:
Prefix HOSTCC and CC with CCACHE variable to allow easy use of ccache. In case the user wants to use ccache, exporting CCACHE=ccache will do the trick. It is of course possible to either make the cross-compiler name into a shellscript which invokes the ccache and the compiler, but setting this variable makes use of ccache easier and more convenient.
Using ccache becomes convenient when using MAKEALL for large build tests, where the speedup after building the cache for the first time is about 4-6 times.
Signed-off-by: Marek Vasut marex@denx.de Cc: Tom Rini trini@ti.com
config.mk | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/config.mk b/config.mk index 1fd109f..d59ded2 100644 --- a/config.mk +++ b/config.mk @@ -98,6 +98,8 @@ else
HOSTCC = gcc endif
+HOSTCC := $(CCACHE) $(HOSTCC)
ifeq ($(HOSTOS),cygwin) HOSTCFLAGS += -ansi endif
@@ -140,13 +142,13 @@ binutils-version = $(shell $(SHELL) $(SRCTREE)/tools/binutils-version.sh $(AS))
# # Include the make variables (CC, etc...) #
-AS = $(CROSS_COMPILE)as +AS = $(CCACHE) $(CROSS_COMPILE)as
# Always use GNU ld LD = $(shell if $(CROSS_COMPILE)ld.bfd -v > /dev/null 2>&1; \
then echo "$(CROSS_COMPILE)ld.bfd"; else echo
"$(CROSS_COMPILE)ld";
fi;)
-CC = $(CROSS_COMPILE)gcc +CC = $(CCACHE) $(CROSS_COMPILE)gcc
CPP = $(CC) -E AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm
@@ -320,7 +322,7 @@ endif
######################################################################## #
-export HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE
\
+export HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE CCACHE \
AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP MAKE
export CONFIG_SYS_TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS
CPPFLAGS
CFLAGS AFLAGS
Where did this patch go? I found it useful.
It needs additional fixes, try running with MAKEALL and you will see the problem -- the problem is you would need separate ccache for each MAKEALL thread.
I didn't use this patch but I modified config.mk as this patch did. MAKEALL works fine for "-a powerpc". It cuts my compiling time more than half for 660+ boards.
York