Re: [PATCH 01/32] xfsprogs: fix automatic dependency generation

Eric Sandeen
2013-10-08T23:00:56Z

On 9/29/13 10:15 PM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> Adding are removing a header file does not result in dependency

s/are/or/

> 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

dependencies

I'm no make guru but seems relatively harmless. ;)

Reviewed-by: Eric Sandeen <sandeen@redhat.com>

> +# 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
>