]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Disable ccache for embedded.o
authorStefan Hajnoczi <stefanha@gmail.com>
Mon, 1 Mar 2010 20:34:47 +0000 (20:34 +0000)
committerMarty Connor <mdc@etherboot.org>
Thu, 4 Mar 2010 16:25:36 +0000 (11:25 -0500)
Embedded image support uses .incbin in inline assembly to include binary
files.  The file dependency is not spotted by ccache when deciding
whether or not to rebuild embedded.o.  This results in builds that
contain an outdated version of the embedded image when ccache is used.

Reported-by: Tim 'Shaggy' Bielawa <tbielawa@jabber.org>
Reported-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Marty Connor <mdc@etherboot.org>
src/Makefile.housekeeping

index 1f5e115f20d7e107d3e7d8374b749c4564f561a0..8ba7e4414bac41532b22124b7ce18ee856d05fc3 100644 (file)
@@ -511,6 +511,13 @@ EMBED_ALL  := $(foreach i,$(call seq,1,$(words $(EMBEDDED_FILES))),\
                             \"$(notdir $(word $(i),$(EMBEDDED_FILES)))\" ))
 
 $(BIN)/embedded.o : $(EMBEDDED_FILES) $(EMBEDDED_LIST)
+
+# This file uses .incbin inline assembly to include a binary file.
+# Unfortunately ccache does not detect this dependency and caches builds even
+# when the binary file has changed.
+#
+$(BIN)/embedded.o : override CC := env CCACHE_DISABLE=1 $(CC)
+
 CFLAGS_embedded = -DEMBED_ALL="$(EMBED_ALL)"
 
 # Generate the NIC file from the parsed source files.  The NIC file is