From: Dave Chinner Date: Wed, 13 Nov 2013 06:40:25 +0000 (+0000) Subject: xfsprogs: fix automatic dependency generation X-Git-Tag: v3.2.0-alpha2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=270c31284f7d05557a31ef1304d582897bf4ffcc;p=thirdparty%2Fxfsprogs-dev.git xfsprogs: fix automatic dependency generation 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 Reviewed-by: Christoph Hellwig Signed-off-by: Rich Johnston --- diff --git a/include/buildrules b/include/buildrules index 49cb2a4b9..399635e0c 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 dependencies 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]" $(Q)$(MAKEDEP) $(CFILES) > .dep