x86-64: don't generate dependency files when building compat headers
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 27 Jan 2009 11:54:22 +0000 (11:54 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 27 Jan 2009 11:54:22 +0000 (11:54 +0000)
The generated dependency files weren't correct (as their names get
derived only from the base name of the target file, and there are
public headers with the same base name in different directories), not
needed (as the makefile already listed all necessary dependencies
explicitly), and resulted in the first re-build in an already built
tree to be an almost full re-build since the *.c files explicitly
mentioned in the .*.d result in make not considering them as
intermediate anymore, thus triggering re-generation of the headers,
and hence re-building of almost the entire tree.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/include/Makefile

index 64ae8c92f0ba418bfb4f9c49df3d34c28bfd1bd9..84273715969420aefcc2d4f83735c1c58db74725 100644 (file)
@@ -51,7 +51,7 @@ compat/%.h: compat/%.i Makefile
        mv -f $@.new $@
 
 compat/%.i: compat/%.c Makefile
-       $(CPP) $(CFLAGS) $(cppflags-y) -o $@ $<
+       $(CPP) $(filter-out -M% .%.d,$(CFLAGS)) $(cppflags-y) -o $@ $<
 
 compat/%.c: public/%.h xlat.lst Makefile
        mkdir -p $(@D)