[PATCH 01/37] xfsprogs: fix automatic dependency generation

Dave Chinner
2013-11-06T01:07:40Z

Adding are removing a header file does not result in dependency
regeneration like it should. make clean will rebuild the
dependencies, but a normal make won't. Fix it.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
include/buildrules | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/include/buildrules b/include/buildrules
index 49cb2a4..edb1beb 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -79,18 +79,30 @@ endif # _BUILDRULES_INCLUDED_
$(_FORCE):

# dependency build is automatic, relies on gcc -MM to generate.
+#
+# This is a bit messy. It regenerates the depenencies on each build so
+# that we catch files being added and removed. There are other ways of doing
+# this (e.g. per-file dependency files) but that requires more in-depth changes
+# to the build system. Compile time is not an issue for us, so the
+# rebuild on every make invocation isn't a problem we need to care about. Just
+# do it silently so it doesn't make the build unnecessarily noisy.
+
.PHONY : depend ltdepend install-qa

MAKEDEP := $(MAKEDEPEND) $(CFLAGS)

-ltdepend: .ltdep
+ltdepend: rmltdep .ltdep
+
+rmltdep:
+ @rm -f .ltdep

.ltdep: $(CFILES) $(HFILES)
- @echo " [LTDEP]"
$(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep

-depend: .dep
+depend: rmdep .dep
+
+rmdep:
+ @rm -f .dep

.dep: $(CFILES) $(HFILES)
- @echo " [DEP]"