build: add -MP to CFLAGS along with -MMD
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 24 Mar 2020 09:43:51 +0000 (10:43 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 24 Mar 2020 09:43:51 +0000 (10:43 +0100)
commitf10df652c78cbdd0c25e93767baad55b022af5be
tree8be96a03c28e59965019384d6aacad8e1ed74071
parent60d6ba1916dce0622a53b00dbae3c01d0761057e
build: add -MP to CFLAGS along with -MMD

This causes gcc (yes, and clang) to emit phony targets for each dependency.

This means that when a header file is deleted, the C files which *used*
to include it will no longer stop building with bogus out-of-date
dependencies like this:

  make[5]: *** No rule to make target
  '/home/dwmw2/git/xen/xen/include/asm/hvm/svm/amd-iommu-proto.h',
  needed by 'p2m.o'. Stop.

Based on -MP post-dating -MP by many years it is assumed that the
behavior of -MP isn't the defualt just out of extreme caution. We're
sufficiently convinced that there are no undue side effects of this.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/Rules.mk
xen/Rules.mk