All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] build: get all *.d files
@ 2012-07-11 14:40 Paolo Bonzini
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs Paolo Bonzini
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-11 14:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: jan.kiszka, aliguori, avi

Avi and Jan experienced more problem with dependencies.  This series
should fix them.

Paolo Bonzini (2):
  build: include qapi-generated/ files in qga/Makefile.objs
  build: get dependency file directories from object file names
  build: do not use hw/kvm/

 Makefile              |    4 ++--
 Makefile.dis          |    3 ---
 Makefile.hw           |    3 ---
 Makefile.target       |    3 ---
 Makefile.user         |    3 ---
 hw/i386/Makefile.objs |    2 +-
 hw/kvm/Makefile.objs  |    1 -
 qga/Makefile.objs     |    2 ++
 rules.mak             |    3 ++-
 9 files changed, 7 insertions(+), 17 deletions(-)
 delete mode 100644 hw/kvm/Makefile.objs

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs
  2012-07-11 14:40 [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
@ 2012-07-11 14:40 ` Paolo Bonzini
  2012-07-11 15:25   ` Michael Roth
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names Paolo Bonzini
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-11 14:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: jan.kiszka, aliguori, avi

No reason to leave them out, and it will ensure that the dependencies
are picked up.  Later we can perhaps move the files to another
directory to avoid ../ usage.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile          |    2 +-
 qga/Makefile.objs |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 34d6a9e..1b7cd2f 100644
--- a/Makefile
+++ b/Makefile
@@ -206,7 +206,7 @@ QGALIB_GEN=$(addprefix qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qm
 $(QGALIB_OBJ): $(QGALIB_GEN)
 $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
 
-qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y) $(QGALIB_OBJ)
+qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y)
 
 QEMULIBS=libhw32 libhw64 libuser libdis libdis-user
 
diff --git a/qga/Makefile.objs b/qga/Makefile.objs
index 6a4d843..b54b9b1 100644
--- a/qga/Makefile.objs
+++ b/qga/Makefile.objs
@@ -1,3 +1,5 @@
 qga-obj-y = commands.o guest-agent-command-state.o
 qga-obj-$(CONFIG_POSIX) += commands-posix.o channel-posix.o
 qga-obj-$(CONFIG_WIN32) += commands-win32.o channel-win32.o service-win32.o
+qga-obj-y += ../qapi-generated/qga-qapi-types.o ../qapi-generated/qga-qapi-visit.o
+qga-obj-y += ../qapi-generated/qga-qmp-marshal.o
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
  2012-07-11 14:40 [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs Paolo Bonzini
@ 2012-07-11 14:40 ` Paolo Bonzini
  2012-07-24 11:38   ` Andreas Färber
  2012-07-24 11:17 ` [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
  2012-07-28 12:16 ` Blue Swirl
  3 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-11 14:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: jan.kiszka, aliguori, avi

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 <pbonzini@redhat.com>
---
 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
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs Paolo Bonzini
@ 2012-07-11 15:25   ` Michael Roth
  2012-07-11 15:28     ` Paolo Bonzini
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Roth @ 2012-07-11 15:25 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: jan.kiszka, aliguori, qemu-devel, avi

On Wed, Jul 11, 2012 at 04:40:20PM +0200, Paolo Bonzini wrote:
> No reason to leave them out, and it will ensure that the dependencies
> are picked up.  Later we can perhaps move the files to another
> directory to avoid ../ usage.

Couldn't we accomplish that by just adding the dependencies to qga-obj-y in
the top-level Makefile.objs instead?

> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  Makefile          |    2 +-
>  qga/Makefile.objs |    2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 34d6a9e..1b7cd2f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -206,7 +206,7 @@ QGALIB_GEN=$(addprefix qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qm
>  $(QGALIB_OBJ): $(QGALIB_GEN)
>  $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
> 
> -qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y) $(QGALIB_OBJ)
> +qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y)
> 
>  QEMULIBS=libhw32 libhw64 libuser libdis libdis-user
> 
> diff --git a/qga/Makefile.objs b/qga/Makefile.objs
> index 6a4d843..b54b9b1 100644
> --- a/qga/Makefile.objs
> +++ b/qga/Makefile.objs
> @@ -1,3 +1,5 @@
>  qga-obj-y = commands.o guest-agent-command-state.o
>  qga-obj-$(CONFIG_POSIX) += commands-posix.o channel-posix.o
>  qga-obj-$(CONFIG_WIN32) += commands-win32.o channel-win32.o service-win32.o
> +qga-obj-y += ../qapi-generated/qga-qapi-types.o ../qapi-generated/qga-qapi-visit.o
> +qga-obj-y += ../qapi-generated/qga-qmp-marshal.o
> -- 
> 1.7.10.4
> 
> 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs
  2012-07-11 15:25   ` Michael Roth
@ 2012-07-11 15:28     ` Paolo Bonzini
  2012-07-11 16:00       ` Michael Roth
  0 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-11 15:28 UTC (permalink / raw)
  To: Michael Roth; +Cc: jan.kiszka, aliguori, qemu-devel, avi

Il 11/07/2012 17:25, Michael Roth ha scritto:
> > No reason to leave them out, and it will ensure that the dependencies
> > are picked up.  Later we can perhaps move the files to another
> > directory to avoid ../ usage.
> 
> Couldn't we accomplish that by just adding the dependencies to qga-obj-y in
> the top-level Makefile.objs instead?

Yes, but I believe that the better place for these files is
qga/qapi-generated/, so I'm preparing for that. :)

Paolo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs
  2012-07-11 15:28     ` Paolo Bonzini
@ 2012-07-11 16:00       ` Michael Roth
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Roth @ 2012-07-11 16:00 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: jan.kiszka, aliguori, qemu-devel, avi

On Wed, Jul 11, 2012 at 05:28:26PM +0200, Paolo Bonzini wrote:
> Il 11/07/2012 17:25, Michael Roth ha scritto:
> > > No reason to leave them out, and it will ensure that the dependencies
> > > are picked up.  Later we can perhaps move the files to another
> > > directory to avoid ../ usage.
> > 
> > Couldn't we accomplish that by just adding the dependencies to qga-obj-y in
> > the top-level Makefile.objs instead?
> 
> Yes, but I believe that the better place for these files is
> qga/qapi-generated/, so I'm preparing for that. :)

Ah, makes sense :)

Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>

> 
> Paolo
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 0/2] build: get all *.d files
  2012-07-11 14:40 [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs Paolo Bonzini
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names Paolo Bonzini
@ 2012-07-24 11:17 ` Paolo Bonzini
  2012-07-28 12:16 ` Blue Swirl
  3 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-24 11:17 UTC (permalink / raw)
  Cc: jan.kiszka, aliguori, qemu-devel, avi

Il 11/07/2012 16:40, Paolo Bonzini ha scritto:
> Avi and Jan experienced more problem with dependencies.  This series
> should fix them.
> 
> Paolo Bonzini (2):
>   build: include qapi-generated/ files in qga/Makefile.objs
>   build: get dependency file directories from object file names
> 
>  Makefile              |    4 ++--
>  Makefile.dis          |    3 ---
>  Makefile.hw           |    3 ---
>  Makefile.target       |    3 ---
>  Makefile.user         |    3 ---
>  hw/i386/Makefile.objs |    2 +-
>  hw/kvm/Makefile.objs  |    1 -
>  qga/Makefile.objs     |    2 ++
>  rules.mak             |    3 ++-
>  9 files changed, 7 insertions(+), 17 deletions(-)
>  delete mode 100644 hw/kvm/Makefile.objs
> 

Ping?

Paolo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
  2012-07-11 14:40 ` [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names Paolo Bonzini
@ 2012-07-24 11:38   ` Andreas Färber
  2012-07-24 11:43     ` Paolo Bonzini
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Färber @ 2012-07-24 11:38 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: jan.kiszka, aliguori, qemu-devel, avi

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 <pbonzini@redhat.com>
> ---
>  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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
  2012-07-24 11:38   ` Andreas Färber
@ 2012-07-24 11:43     ` Paolo Bonzini
  2012-07-24 11:53       ` Andreas Färber
  0 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-24 11:43 UTC (permalink / raw)
  To: Andreas Färber; +Cc: jan.kiszka, aliguori, qemu-devel, avi

Il 24/07/2012 13:38, Andreas Färber ha scritto:
>> > +$(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.

obj-y is a nested variable:

  nested-vars += obj-y

  # This resolves all nested paths, so it must come last
  include $(SRC_PATH)/Makefile.objs

$(dir $(obj-y)) contains tcg/ and from there you get tcg/*.d.

The only makefile that doesn't use the nesting mechanism is tests/Makefile.

Paolo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
  2012-07-24 11:43     ` Paolo Bonzini
@ 2012-07-24 11:53       ` Andreas Färber
  2012-07-24 12:02         ` Paolo Bonzini
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Färber @ 2012-07-24 11:53 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: jan.kiszka, aliguori, qemu-devel, avi

Am 24.07.2012 13:43, schrieb Paolo Bonzini:
> Il 24/07/2012 13:38, Andreas Färber ha scritto:
>>>> +$(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.
> 
> obj-y is a nested variable:
> 
>   nested-vars += obj-y
> 
>   # This resolves all nested paths, so it must come last
>   include $(SRC_PATH)/Makefile.objs
> 
> $(dir $(obj-y)) contains tcg/ and from there you get tcg/*.d.
> 
> The only makefile that doesn't use the nesting mechanism is tests/Makefile.

I think you misunderstood: My worry is

qemu-something: $(obj-y) foo bar baz

obj-y and friends are handled, foo, bar, baz are not. If you checked all
those cases, fine with me. :) Otherwise the new unnesting rule is fine,
but not all "*.d" inclusions could be deleted.

Andreas

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names
  2012-07-24 11:53       ` Andreas Färber
@ 2012-07-24 12:02         ` Paolo Bonzini
  0 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-07-24 12:02 UTC (permalink / raw)
  To: Andreas Färber; +Cc: jan.kiszka, aliguori, qemu-devel, avi

Il 24/07/2012 13:53, Andreas Färber ha scritto:
> Am 24.07.2012 13:43, schrieb Paolo Bonzini:
>> Il 24/07/2012 13:38, Andreas Färber ha scritto:
>>>>> +$(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.
>>
>> obj-y is a nested variable:
>>
>>   nested-vars += obj-y
>>
>>   # This resolves all nested paths, so it must come last
>>   include $(SRC_PATH)/Makefile.objs
>>
>> $(dir $(obj-y)) contains tcg/ and from there you get tcg/*.d.
>>
>> The only makefile that doesn't use the nesting mechanism is tests/Makefile.
> 
> I think you misunderstood: My worry is
> 
> qemu-something: $(obj-y) foo bar baz
> 
> obj-y and friends are handled, foo, bar, baz are not. If you checked all
> those cases, fine with me. :) Otherwise the new unnesting rule is fine,
> but not all "*.d" inclusions could be deleted.

Ah, yes, I did.  The only cases are in the toplevel Makefile (and the
included tests/Makefile), hence this statement left in that Makefile:

+-include $(wildcard *.d tests/*.d)

Paolo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH 0/2] build: get all *.d files
  2012-07-11 14:40 [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
                   ` (2 preceding siblings ...)
  2012-07-24 11:17 ` [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
@ 2012-07-28 12:16 ` Blue Swirl
  3 siblings, 0 replies; 12+ messages in thread
From: Blue Swirl @ 2012-07-28 12:16 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: jan.kiszka, aliguori, qemu-devel, avi

Thanks, applied all.

On Wed, Jul 11, 2012 at 2:40 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Avi and Jan experienced more problem with dependencies.  This series
> should fix them.
>
> Paolo Bonzini (2):
>   build: include qapi-generated/ files in qga/Makefile.objs
>   build: get dependency file directories from object file names
>   build: do not use hw/kvm/
>
>  Makefile              |    4 ++--
>  Makefile.dis          |    3 ---
>  Makefile.hw           |    3 ---
>  Makefile.target       |    3 ---
>  Makefile.user         |    3 ---
>  hw/i386/Makefile.objs |    2 +-
>  hw/kvm/Makefile.objs  |    1 -
>  qga/Makefile.objs     |    2 ++
>  rules.mak             |    3 ++-
>  9 files changed, 7 insertions(+), 17 deletions(-)
>  delete mode 100644 hw/kvm/Makefile.objs
>
> --
> 1.7.10.4
>
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-07-28 12:16 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-11 14:40 [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
2012-07-11 14:40 ` [Qemu-devel] [PATCH 1/2] build: include qapi-generated/ files in qga/Makefile.objs Paolo Bonzini
2012-07-11 15:25   ` Michael Roth
2012-07-11 15:28     ` Paolo Bonzini
2012-07-11 16:00       ` Michael Roth
2012-07-11 14:40 ` [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names Paolo Bonzini
2012-07-24 11:38   ` Andreas Färber
2012-07-24 11:43     ` Paolo Bonzini
2012-07-24 11:53       ` Andreas Färber
2012-07-24 12:02         ` Paolo Bonzini
2012-07-24 11:17 ` [Qemu-devel] [PATCH 0/2] build: get all *.d files Paolo Bonzini
2012-07-28 12:16 ` Blue Swirl

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.