build: allow romcc to be wrapped

Allow ccache and scan-build to wrap romcc.
This works a bit different from the other compilers
because we only define it later.

Change-Id: I3adce91d3dde9dd50aa6a2baad5b457744f35575
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/5773
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
diff --git a/Makefile b/Makefile
index 3404a51..5c4484a 100644
--- a/Makefile
+++ b/Makefile
@@ -135,7 +135,7 @@
 CC := $(CCACHE) $(CC)
 HOSTCC := $(CCACHE) $(HOSTCC)
 HOSTCXX := $(CCACHE) $(HOSTCXX)
-ROMCC := $(CCACHE) $(ROMCC)
+ROMCC_BIN := $(CCACHE) $(ROMCC_BIN)
 endif
 
 strip_quotes = $(subst ",,$(subst \",,$(1)))
diff --git a/Makefile.inc b/Makefile.inc
index d098cff..529250d 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -280,8 +280,11 @@
 	STACK=-Wl,--stack,16384000
 endif
 
-ROMCC:= $(objutil)/romcc/romcc
-$(ROMCC): $(top)/util/romcc/romcc.c
+# this allows ccache to prepend itself
+# (ccache handling happens first)
+ROMCC_BIN= $(objutil)/romcc/romcc
+ROMCC?=$(ROMCC_BIN)
+$(ROMCC_BIN): $(top)/util/romcc/romcc.c
 	@printf "    HOSTCC     $(subst $(obj)/,,$(@)) (this may take a while)\n"
 	@# Note: Adding -O2 here might cause problems. For details see:
 	@# http://www.coreboot.org/pipermail/coreboot/2010-February/055825.html