Patchwork trace: Fix user emulator dependency on trace objects

login
register
mail settings
Submitter Andreas Färber
Date Sept. 12, 2010, 3:21 p.m.
Message ID <1284304896-3239-1-git-send-email-andreas.faerber@web.de>
Download mbox | patch
Permalink /patch/64551/
State New
Headers show

Comments

Andreas Färber - Sept. 12, 2010, 3:21 p.m.
On a clean build, after generating trace.h, make would recurse into *-*-user
without a clue how to build ../trace.o (added to $(obj-y) in Makefile.target)
since its generation rule is in the main Makefile.
The softmmus are seemingly unaffected because the $(TOOLS), which each have
a dependency on $(trace-obj-y), are built first for the build-all target.

Add a dependency on $(trace-obj-y) for %-user, as done for the qemu-* tools.

Let's be paranoid and do the same for %-softmmu while at it, just in case
someone messes with $(TOOLS) or calls the Makefile target directly.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
---
 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Stefan Hajnoczi - Sept. 13, 2010, 10:40 a.m.
On Sun, Sep 12, 2010 at 05:21:36PM +0200, Andreas Färber wrote:
> On a clean build, after generating trace.h, make would recurse into *-*-user
> without a clue how to build ../trace.o (added to $(obj-y) in Makefile.target)
> since its generation rule is in the main Makefile.
> The softmmus are seemingly unaffected because the $(TOOLS), which each have
> a dependency on $(trace-obj-y), are built first for the build-all target.
> 
> Add a dependency on $(trace-obj-y) for %-user, as done for the qemu-* tools.
> 
> Let's be paranoid and do the same for %-softmmu while at it, just in case
> someone messes with $(TOOLS) or calls the Makefile target directly.
> 
> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
> Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Cc: Anthony Liguori <aliguori@us.ibm.com>
> ---
>  Makefile |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)

Thanks for the patch!

Stefan
Stefan Weil - Sept. 13, 2010, 6:15 p.m.
Am 12.09.2010 17:21, schrieb Andreas Färber:
> On a clean build, after generating trace.h, make would recurse into 
> *-*-user
> without a clue how to build ../trace.o (added to $(obj-y) in 
> Makefile.target)
> since its generation rule is in the main Makefile.
> The softmmus are seemingly unaffected because the $(TOOLS), which each 
> have
> a dependency on $(trace-obj-y), are built first for the build-all target.
>
> Add a dependency on $(trace-obj-y) for %-user, as done for the qemu-* 
> tools.
>
> Let's be paranoid and do the same for %-softmmu while at it, just in case
> someone messes with $(TOOLS) or calls the Makefile target directly.
>
> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
> Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Cc: Anthony Liguori <aliguori@us.ibm.com>
> ---
> Makefile | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ab91d42..090d632 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -80,9 +80,9 @@ include $(SRC_PATH)/Makefile.objs
> endif
>
> $(common-obj-y): $(GENERATED_HEADERS)
> -$(filter %-softmmu,$(SUBDIR_RULES)): $(common-obj-y) subdir-libdis
> +$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y) 
> subdir-libdis
>
> -$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) 
> subdir-libdis-user subdir-libuser
> +$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj-y) 
> subdir-libdis-user subdir-libuser
>
> ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
> romsubdir-%:

Acked-by: Stefan Weil <weil@mail.berlios.de>

Doing the same for %-softmmu was a good idea and helped me, thanks.

Stefan
Andreas Färber - Sept. 19, 2010, 9:28 a.m.
Am 12.09.2010 um 17:21 schrieb Andreas Färber:

> On a clean build, after generating trace.h, make would recurse into  
> *-*-user
> without a clue how to build ../trace.o (added to $(obj-y) in  
> Makefile.target)
> since its generation rule is in the main Makefile.
> The softmmus are seemingly unaffected because the $(TOOLS), which  
> each have
> a dependency on $(trace-obj-y), are built first for the build-all  
> target.
>
> Add a dependency on $(trace-obj-y) for %-user, as done for the qemu- 
> * tools.
>
> Let's be paranoid and do the same for %-softmmu while at it, just in  
> case
> someone messes with $(TOOLS) or calls the Makefile target directly.
>
> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
> Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Cc: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Stefan Weil <weil@mail.berlios.de>

Ping? 7 days, one ack, one thank-you from the original author. Could  
someone please commit or comment please? This fixes a broken build  
configuration on all platforms.

Thanks,
Andreas

> ---
> Makefile |    4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ab91d42..090d632 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -80,9 +80,9 @@ include $(SRC_PATH)/Makefile.objs
> endif
>
> $(common-obj-y): $(GENERATED_HEADERS)
> -$(filter %-softmmu,$(SUBDIR_RULES)): $(common-obj-y) subdir-libdis
> +$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y)  
> subdir-libdis
>
> -$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) subdir- 
> libdis-user subdir-libuser
> +$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj- 
> y) subdir-libdis-user subdir-libuser
>
> ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
> romsubdir-%:
> -- 
> 1.7.2.2
Blue Swirl - Sept. 21, 2010, 7:47 p.m.
Thanks, applied.

On Sun, Sep 19, 2010 at 9:28 AM, Andreas Färber <andreas.faerber@web.de> wrote:
> Am 12.09.2010 um 17:21 schrieb Andreas Färber:
>
>> On a clean build, after generating trace.h, make would recurse into
>> *-*-user
>> without a clue how to build ../trace.o (added to $(obj-y) in
>> Makefile.target)
>> since its generation rule is in the main Makefile.
>> The softmmus are seemingly unaffected because the $(TOOLS), which each
>> have
>> a dependency on $(trace-obj-y), are built first for the build-all target.
>>
>> Add a dependency on $(trace-obj-y) for %-user, as done for the qemu-*
>> tools.
>>
>> Let's be paranoid and do the same for %-softmmu while at it, just in case
>> someone messes with $(TOOLS) or calls the Makefile target directly.
>>
>> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
>> Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
>> Cc: Prerna Saxena <prerna@linux.vnet.ibm.com>
>> Cc: Blue Swirl <blauwirbel@gmail.com>
>> Cc: Anthony Liguori <aliguori@us.ibm.com>
>
> Acked-by: Stefan Weil <weil@mail.berlios.de>
>
> Ping? 7 days, one ack, one thank-you from the original author. Could someone
> please commit or comment please? This fixes a broken build configuration on
> all platforms.
>
> Thanks,
> Andreas
>
>> ---
>> Makefile |    4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index ab91d42..090d632 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -80,9 +80,9 @@ include $(SRC_PATH)/Makefile.objs
>> endif
>>
>> $(common-obj-y): $(GENERATED_HEADERS)
>> -$(filter %-softmmu,$(SUBDIR_RULES)): $(common-obj-y) subdir-libdis
>> +$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y)
>> subdir-libdis
>>
>> -$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) subdir-libdis-user
>> subdir-libuser
>> +$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj-y)
>> subdir-libdis-user subdir-libuser
>>
>> ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
>> romsubdir-%:
>> --
>> 1.7.2.2
>
>

Patch

diff --git a/Makefile b/Makefile
index ab91d42..090d632 100644
--- a/Makefile
+++ b/Makefile
@@ -80,9 +80,9 @@  include $(SRC_PATH)/Makefile.objs
 endif
 
 $(common-obj-y): $(GENERATED_HEADERS)
-$(filter %-softmmu,$(SUBDIR_RULES)): $(common-obj-y) subdir-libdis
+$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y) subdir-libdis
 
-$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) subdir-libdis-user subdir-libuser
+$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj-y) subdir-libdis-user subdir-libuser
 
 ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
 romsubdir-%: