Pārlūkot izejas kodu

[build] Disable ccache for embedded.o

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>
tags/v1.20.1
Stefan Hajnoczi 14 gadus atpakaļ
vecāks
revīzija
5782794e20
1 mainītis faili ar 7 papildinājumiem un 0 dzēšanām
  1. 7
    0
      src/Makefile.housekeeping

+ 7
- 0
src/Makefile.housekeeping Parādīt failu

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

Notiek ielāde…
Atcelt
Saglabāt