qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
Date: Tue, 24 Jul 2012 13:38:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120601 Thunderbird/13.0

Am 11.07.2012 16:40, schrieb Paolo Bonzini:
> After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file
> are taken from the directories that have a Makefile.objs file.  This is
> not enough, since files can be included from other directories.
> So, pick them from directories that have an object file in them.
> 
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
>  Makefile        |    2 +-
>  Makefile.dis    |    3 ---
>  Makefile.hw     |    3 ---
>  Makefile.target |    3 ---
>  Makefile.user   |    3 ---
>  rules.mak       |    3 ++-
>  6 files changed, 3 insertions(+), 14 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 1b7cd2f..221319e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -406,5 +406,5 @@ tar:
>  Makefile: $(GENERATED_HEADERS)
>  
>  # Include automatically generated dependency files
> -# All subdir dependencies come automatically from our recursive subdir rules
> --include $(wildcard *.d)
> +# Dependencies in Makefile.objs files come from our recursive subdir rules
> +-include $(wildcard *.d tests/*.d)
> diff --git a/Makefile.dis b/Makefile.dis
> index 09060f0..2cfec6a 100644
> --- a/Makefile.dis
> +++ b/Makefile.dis
> @@ -18,6 +18,3 @@ all: $(libdis-y)
>  
>  clean:
>       rm -f *.o *.d *.a *~
> -
> -# Include automatically generated dependency files
> --include $(wildcard *.d)
> diff --git a/Makefile.hw b/Makefile.hw
> index 28fe100..59f5b48 100644
> --- a/Makefile.hw
> +++ b/Makefile.hw
> @@ -21,6 +21,3 @@ all: $(hw-obj-y)
>  clean:
>       rm -f $(addsuffix *.o, $(sort $(dir $(hw-obj-y))))
>       rm -f $(addsuffix *.d, $(sort $(dir $(hw-obj-y))))
> -
> -# Include automatically generated dependency files
> --include $(patsubst %.o, %.d, $(hw-obj-y))
> diff --git a/Makefile.target b/Makefile.target
> index 74f7a4a..7892a8d 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -214,6 +214,3 @@ endif
>  
>  GENERATED_HEADERS += config-target.h
>  Makefile: $(GENERATED_HEADERS)
> -
> -# Include automatically generated dependency files
> --include $(wildcard *.d fpu/*.d tcg/*.d)
> diff --git a/Makefile.user b/Makefile.user
> index 1783b2a..9302d33 100644
> --- a/Makefile.user
> +++ b/Makefile.user
> @@ -22,6 +22,3 @@ clean:
>       for d in . trace; do \
>       rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \
>       done
> -
> -# Include automatically generated dependency files
> --include $(wildcard *.d)
> diff --git a/rules.mak b/rules.mak
> index 60f3e96..a284946 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -94,7 +94,6 @@ define unnest-dir
>  $(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
>  $(eval obj := $(obj)/$1)
>  $(eval include $(SRC_PATH)/$1/Makefile.objs)
> -$(eval -include $(wildcard $1/*.d))
>  $(eval obj := $(patsubst %/$1,%,$(obj)))
>  $(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
>  endef
> @@ -113,4 +112,6 @@ define unnest-vars
>  $(call unnest-vars-1)
>  $(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var)))))
>  $(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var))))))
> +$(foreach var,$(nested-vars), $(eval \
> +  -include $(addsuffix *.d, $(sort $(dir $($(var)))))))
>  endef
> 

Are you sure? Dependencies are not guaranteed to be in one of the
unnested variables, thought we ran into some issues earlier... In
particular I'm thinking of tcg/*.d and of *.d in .user, .target, those
that are actually recursed into.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg





reply via email to

[Prev in Thread] Current Thread [Next in Thread]