[gPXE-devel] [PATCH] [makefile] Disable ccache for embedded.o
Marty Connor
mdc at etherboot.org
Thu Mar 4 11:13:30 EST 2010
Nice debugging!
Applied.
/ Marty /
On 3/1/10 3:34 PM, Stefan Hajnoczi wrote:
> 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 at jabber.org>
> Reported-by: Matt Domsch <Matt_Domsch at dell.com>
> Signed-off-by: Stefan Hajnoczi <stefanha at gmail.com>
> ---
> src/Makefile.housekeeping | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
> index 1f5e115..8ba7e44 100644
> --- a/src/Makefile.housekeeping
> +++ b/src/Makefile.housekeeping
> @@ -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
More information about the gPXE-devel
mailing list