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>
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)