[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] build: add -MP to CFLAGS along with -MMD



commit f10df652c78cbdd0c25e93767baad55b022af5be
Author:     David Woodhouse <dwmw@xxxxxxxxxxxx>
AuthorDate: Tue Mar 24 10:43:51 2020 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Mar 24 10:43:51 2020 +0100

    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@xxxxxxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/Rules.mk | 2 +-
 xen/Rules.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 52f47be3f8..9bac15c8d1 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -186,7 +186,7 @@ SHLIB_libxlutil  = $(SHDEPS_libxlutil) 
-Wl,-rpath-link=$(XEN_XLUTIL)
 CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
 
 # Get gcc to generate the dependencies for us.
-CFLAGS += -MMD -MF .$(if $(filter-out .,$(@D)),$(subst /,@,$(@D))@)$(@F).d
+CFLAGS += -MMD -MP -MF .$(if $(filter-out .,$(@D)),$(subst /,@,$(@D))@)$(@F).d
 DEPS = .*.d
 
 ifneq ($(FILE_OFFSET_BITS),)
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 92a13ca601..9079df7978 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -71,7 +71,7 @@ AFLAGS += -D__ASSEMBLY__
 ALL_OBJS := $(ALL_OBJS-y)
 
 # Get gcc to generate the dependencies for us.
-CFLAGS-y += -MMD -MF $(@D)/.$(@F).d
+CFLAGS-y += -MMD -MP -MF $(@D)/.$(@F).d
 
 CFLAGS += $(CFLAGS-y)
 # allow extra CFLAGS externally via EXTRA_CFLAGS_XEN_CORE
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.