All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] make: Cleanup and fix of loading of dependency info
@ 2015-08-05 17:27 Victor Kaplansky
  2015-08-05 17:28 ` [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored Victor Kaplansky
  2015-08-05 17:29 ` [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files Victor Kaplansky
  0 siblings, 2 replies; 11+ messages in thread
From: Victor Kaplansky @ 2015-08-05 17:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Paolo Bonzini, Richard Henderson

Hi,

sometimes the make fails when one switches between commits without running
"make clean".

This is caused by loading old *.d dependency info files and is harmful for
autogenerated sources with their own includes.  This situation may
significantly slow down the process of git bisect.

These two patches clean things up and fix the issue both for further versions,
and between old and new commits.

This also replaces my previous patch "[PATCH] make: explicit dependencies for
ACPI gen sources".

I've tested the fix by validating that lists included by previous "*.d"
approach and new "patsubst" approach are identical.

Victor Kaplansky (2):
  make: fix where dependency *.d are stored.
  make: load only required dependency files.

 hw/i386/Makefile.objs     | 2 ++
 hw/i386/acpi-dsdt.dsl     | 1 -
 hw/i386/q35-acpi-dsdt.dsl | 1 +
 rules.mak                 | 4 ++--
 4 files changed, 5 insertions(+), 3 deletions(-)

-- 
--Victor

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

* [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored.
  2015-08-05 17:27 [Qemu-devel] [PATCH v2 0/2] make: Cleanup and fix of loading of dependency info Victor Kaplansky
@ 2015-08-05 17:28 ` Victor Kaplansky
  2015-08-06  8:57   ` Alex Bennée
  2015-08-05 17:29 ` [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files Victor Kaplansky
  1 sibling, 1 reply; 11+ messages in thread
From: Victor Kaplansky @ 2015-08-05 17:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Igor Mammedov, Paolo Bonzini, Richard Henderson

In rules like "bar/%.o: %.c" there is a difference between $(*D) and
$(@D). It is cleaner to generate *.d next to appropriate *.o, because it
allows precise including of dependency info from .d files.

As a hack, we also touch two sources for generated *.hex files. This is
to ensure *.hex rebuild, when old revision is switched to the new one.

Signed-off-by: Victor Kaplansky <victork@redhat.com>
---
 hw/i386/acpi-dsdt.dsl     | 1 -
 hw/i386/q35-acpi-dsdt.dsl | 1 +
 rules.mak                 | 2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
index a2d84ec..8dba096 100644
--- a/hw/i386/acpi-dsdt.dsl
+++ b/hw/i386/acpi-dsdt.dsl
@@ -43,7 +43,6 @@ DefinitionBlock (
 
 #include "acpi-dsdt-hpet.dsl"
 
-
 /****************************************************************
  * PIIX4 PM
  ****************************************************************/
diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
index 16eaca3..7be7b37 100644
--- a/hw/i386/q35-acpi-dsdt.dsl
+++ b/hw/i386/q35-acpi-dsdt.dsl
@@ -22,6 +22,7 @@
  * Based on acpi-dsdt.dsl, but heavily modified for q35 chipset.
  */
 
+
 ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
 
 DefinitionBlock (
diff --git a/rules.mak b/rules.mak
index aec27f8..6e35c36 100644
--- a/rules.mak
+++ b/rules.mak
@@ -17,7 +17,7 @@ MAKEFLAGS += -rR
 QEMU_CXXFLAGS = -D__STDC_LIMIT_MACROS $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wredundant-decls, $(QEMU_CFLAGS))
 
 # Flags for dependency generation
-QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
+QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
 
 # Same as -I$(SRC_PATH) -I., but for the nested source/object directories
 QEMU_INCLUDES += -I$(<D) -I$(@D)
-- 
--Victor

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

* [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 17:27 [Qemu-devel] [PATCH v2 0/2] make: Cleanup and fix of loading of dependency info Victor Kaplansky
  2015-08-05 17:28 ` [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored Victor Kaplansky
@ 2015-08-05 17:29 ` Victor Kaplansky
  2015-08-05 17:40   ` Paolo Bonzini
  2015-08-05 18:32   ` Michael S. Tsirkin
  1 sibling, 2 replies; 11+ messages in thread
From: Victor Kaplansky @ 2015-08-05 17:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Paolo Bonzini, Richard Henderson

The old rules.mak loads dependency .d files using include directive
with file glob pattern "*.d". This breaks the build when build tree has
remanent *.d files from another build.

This patch fixes this by
  - loading precise list of .d files made from *.o and *.mo.
  - specifying explicit list of required dependency info files for
     *.hex autogenerated sources.

Note that Makefile still includes some .d in rood directory by including
"*.d".

Signed-off-by: Victor Kaplansky <victork@redhat.com>
---
 hw/i386/Makefile.objs | 2 ++
 rules.mak             | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index bd4f147..311d364 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -10,6 +10,8 @@ obj-y += acpi-build.o
 hw/i386/acpi-build.o: hw/i386/acpi-build.c \
 	hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
 
+-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d
+
 iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
     ; then echo "$(2)"; else echo "$(3)"; fi ;)
 
diff --git a/rules.mak b/rules.mak
index 6e35c36..4551b9e 100644
--- a/rules.mak
+++ b/rules.mak
@@ -368,6 +368,6 @@ define unnest-vars
                 $(error $o added in $v but $o-objs is not set)))
         $(shell mkdir -p ./ $(sort $(dir $($v))))
         # Include all the .d files
-        $(eval -include $(addsuffix *.d, $(sort $(dir $($v)))))
+        $(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v))))
         $(eval $v := $(filter-out %/,$($v))))
 endef
-- 
--Victor

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

* Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 17:29 ` [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files Victor Kaplansky
@ 2015-08-05 17:40   ` Paolo Bonzini
  2015-08-05 18:22     ` Victor kaplansky
  2015-08-06  7:05     ` Markus Armbruster
  2015-08-05 18:32   ` Michael S. Tsirkin
  1 sibling, 2 replies; 11+ messages in thread
From: Paolo Bonzini @ 2015-08-05 17:40 UTC (permalink / raw)
  To: Victor Kaplansky, qemu-devel
  Cc: Peter Maydell, Richard Henderson, Michael S. Tsirkin,
	Eduardo Habkost, Stefan Weil



On 05/08/2015 19:29, Victor Kaplansky wrote:
> The old rules.mak loads dependency .d files using include directive
> with file glob pattern "*.d". This breaks the build when build tree has
> remanent *.d files from another build.
> 
> This patch fixes this by
>   - loading precise list of .d files made from *.o and *.mo.
>   - specifying explicit list of required dependency info files for
>      *.hex autogenerated sources.
> 
> Note that Makefile still includes some .d in rood directory by including
> "*.d".
> 
> Signed-off-by: Victor Kaplansky <victork@redhat.com>
> ---
>  hw/i386/Makefile.objs | 2 ++
>  rules.mak             | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index bd4f147..311d364 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -10,6 +10,8 @@ obj-y += acpi-build.o
>  hw/i386/acpi-build.o: hw/i386/acpi-build.c \
>  	hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
>  
> +-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d
> +

Having to include the files manually is ugly though.

The failed builds are ugly too, but I'm not sure which is worse... :(
Failed builds happen rarely and there are other cases where you should
just "make distclean" your way out of a failure.  On the other hand,
more complicated makefiles have to be maintained always.

Paolo

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

* Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 17:40   ` Paolo Bonzini
@ 2015-08-05 18:22     ` Victor kaplansky
  2015-08-06  7:05     ` Markus Armbruster
  1 sibling, 0 replies; 11+ messages in thread
From: Victor kaplansky @ 2015-08-05 18:22 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	qemu-devel, Richard Henderson

On Wed, Aug 05, 2015 at 07:40:00PM +0200, Paolo Bonzini wrote:
> 
> 
> On 05/08/2015 19:29, Victor Kaplansky wrote:
> > diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> > index bd4f147..311d364 100644
> > --- a/hw/i386/Makefile.objs
> > +++ b/hw/i386/Makefile.objs
> > @@ -10,6 +10,8 @@ obj-y += acpi-build.o
> >  hw/i386/acpi-build.o: hw/i386/acpi-build.c \
> >  	hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
> >  
> > +-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d
> > +
> 
> Having to include the files manually is ugly though.
> 
> The failed builds are ugly too, but I'm not sure which is worse... :(
> Failed builds happen rarely and there are other cases where you should
> just "make distclean" your way out of a failure.  On the other hand,
> more complicated makefiles have to be maintained always.

Actually there is no problem to keep the list of generated *.hex targets
as we do for *.o objects. Just current list is very short, only two
items, so I leaved them as is.

--Victor

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

* Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 17:29 ` [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files Victor Kaplansky
  2015-08-05 17:40   ` Paolo Bonzini
@ 2015-08-05 18:32   ` Michael S. Tsirkin
  2015-08-05 18:51     ` Michael S. Tsirkin
  1 sibling, 1 reply; 11+ messages in thread
From: Michael S. Tsirkin @ 2015-08-05 18:32 UTC (permalink / raw)
  To: Victor Kaplansky
  Cc: Peter Maydell, Eduardo Habkost, Stefan Weil, qemu-devel,
	Paolo Bonzini, Richard Henderson

On Wed, Aug 05, 2015 at 08:29:33PM +0300, Victor Kaplansky wrote:
> The old rules.mak loads dependency .d files using include directive
> with file glob pattern "*.d". This breaks the build when build tree has
> remanent *.d files from another build.
> 
> This patch fixes this by
>   - loading precise list of .d files made from *.o and *.mo.
>   - specifying explicit list of required dependency info files for
>      *.hex autogenerated sources.
> 
> Note that Makefile still includes some .d in rood directory by including
> "*.d".
> 
> Signed-off-by: Victor Kaplansky <victork@redhat.com>
> ---
>  hw/i386/Makefile.objs | 2 ++
>  rules.mak             | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index bd4f147..311d364 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -10,6 +10,8 @@ obj-y += acpi-build.o
>  hw/i386/acpi-build.o: hw/i386/acpi-build.c \
>  	hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
>  
> +-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d
> +
>  iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
>      ; then echo "$(2)"; else echo "$(3)"; fi ;)
>  
> diff --git a/rules.mak b/rules.mak
> index 6e35c36..4551b9e 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -368,6 +368,6 @@ define unnest-vars
>                  $(error $o added in $v but $o-objs is not set)))
>          $(shell mkdir -p ./ $(sort $(dir $($v))))
>          # Include all the .d files
> -        $(eval -include $(addsuffix *.d, $(sort $(dir $($v)))))
> +        $(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v))))

Pls add space after comma, like it was in the original.

>          $(eval $v := $(filter-out %/,$($v))))
>  endef
> -- 
> --Victor

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

* Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 18:32   ` Michael S. Tsirkin
@ 2015-08-05 18:51     ` Michael S. Tsirkin
  0 siblings, 0 replies; 11+ messages in thread
From: Michael S. Tsirkin @ 2015-08-05 18:51 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Peter Maydell, Eduardo Habkost, Stefan Weil, qemu-devel,
	Paolo Bonzini, Richard Henderson

On Wed, Aug 05, 2015 at 09:32:18PM +0300, Michael S. Tsirkin wrote:
> On Wed, Aug 05, 2015 at 08:29:33PM +0300, Victor Kaplansky wrote:
...
> > diff --git a/rules.mak b/rules.mak
> > index 6e35c36..4551b9e 100644
> > --- a/rules.mak
> > +++ b/rules.mak
> > @@ -368,6 +368,6 @@ define unnest-vars
> >                  $(error $o added in $v but $o-objs is not set)))
> >          $(shell mkdir -p ./ $(sort $(dir $($v))))
> >          # Include all the .d files
> > -        $(eval -include $(addsuffix *.d, $(sort $(dir $($v)))))
> > +        $(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v))))
> 
> Pls add space after comma, like it was in the original.

For patsubst comma is pattern delimiter, so if inserted it would be part
of the pattern.  Should I add a comment on this?

--Victor

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

* Re: [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files.
  2015-08-05 17:40   ` Paolo Bonzini
  2015-08-05 18:22     ` Victor kaplansky
@ 2015-08-06  7:05     ` Markus Armbruster
  1 sibling, 0 replies; 11+ messages in thread
From: Markus Armbruster @ 2015-08-06  7:05 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Victor Kaplansky, Eduardo Habkost,
	Michael S. Tsirkin, Stefan Weil, qemu-devel, Richard Henderson

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 05/08/2015 19:29, Victor Kaplansky wrote:
>> The old rules.mak loads dependency .d files using include directive
>> with file glob pattern "*.d". This breaks the build when build tree has
>> remanent *.d files from another build.
>> 
>> This patch fixes this by
>>   - loading precise list of .d files made from *.o and *.mo.
>>   - specifying explicit list of required dependency info files for
>>      *.hex autogenerated sources.
>> 
>> Note that Makefile still includes some .d in rood directory by including
>> "*.d".
>> 
>> Signed-off-by: Victor Kaplansky <victork@redhat.com>
>> ---
>>  hw/i386/Makefile.objs | 2 ++
>>  rules.mak             | 2 +-
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>> 
>> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
>> index bd4f147..311d364 100644
>> --- a/hw/i386/Makefile.objs
>> +++ b/hw/i386/Makefile.objs
>> @@ -10,6 +10,8 @@ obj-y += acpi-build.o
>>  hw/i386/acpi-build.o: hw/i386/acpi-build.c \
>>  	hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex
>>  
>> +-include hw/i386/acpi-dsdt.d hw/i386/q35-acpi-dsdt.d
>> +
>
> Having to include the files manually is ugly though.
>
> The failed builds are ugly too, but I'm not sure which is worse... :(
> Failed builds happen rarely

Not for me.

>                             and there are other cases where you should
> just "make distclean" your way out of a failure.

ccache saves.

>                                                   On the other hand,
> more complicated makefiles have to be maintained always.

Globbing in makefiles is rarely a good idea.

Including *.d is as questionable as linking *.o would be.

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

* Re: [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored.
  2015-08-05 17:28 ` [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored Victor Kaplansky
@ 2015-08-06  8:57   ` Alex Bennée
  2015-08-06  9:02     ` Michael S. Tsirkin
  0 siblings, 1 reply; 11+ messages in thread
From: Alex Bennée @ 2015-08-06  8:57 UTC (permalink / raw)
  To: Victor Kaplansky
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	qemu-devel, Paolo Bonzini, Igor Mammedov, Richard Henderson


Victor Kaplansky <victork@redhat.com> writes:

> In rules like "bar/%.o: %.c" there is a difference between $(*D) and
> $(@D). It is cleaner to generate *.d next to appropriate *.o, because it
> allows precise including of dependency info from .d files.

It might be worth putting the example in the comment as most people are
not familiar with the esoteric symbolic of GNU Make. AIUI in your
example $(@D) resolves to "bar" instead of "bar/%"

>
> As a hack, we also touch two sources for generated *.hex files. This is
> to ensure *.hex rebuild, when old revision is switched to the new one.

While I'm sure this was useful for testing do we really want to include
such a hack in the git history?

>
> Signed-off-by: Victor Kaplansky <victork@redhat.com>
> ---
>  hw/i386/acpi-dsdt.dsl     | 1 -
>  hw/i386/q35-acpi-dsdt.dsl | 1 +
>  rules.mak                 | 2 +-
>  3 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
> index a2d84ec..8dba096 100644
> --- a/hw/i386/acpi-dsdt.dsl
> +++ b/hw/i386/acpi-dsdt.dsl
> @@ -43,7 +43,6 @@ DefinitionBlock (
>  
>  #include "acpi-dsdt-hpet.dsl"
>  
> -
>  /****************************************************************
>   * PIIX4 PM
>   ****************************************************************/
> diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
> index 16eaca3..7be7b37 100644
> --- a/hw/i386/q35-acpi-dsdt.dsl
> +++ b/hw/i386/q35-acpi-dsdt.dsl
> @@ -22,6 +22,7 @@
>   * Based on acpi-dsdt.dsl, but heavily modified for q35 chipset.
>   */
>  
> +
>  ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
>  
>  DefinitionBlock (
> diff --git a/rules.mak b/rules.mak
> index aec27f8..6e35c36 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -17,7 +17,7 @@ MAKEFLAGS += -rR
>  QEMU_CXXFLAGS = -D__STDC_LIMIT_MACROS $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wredundant-decls, $(QEMU_CFLAGS))
>  
>  # Flags for dependency generation
> -QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
> +QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
>  
>  # Same as -I$(SRC_PATH) -I., but for the nested source/object directories
>  QEMU_INCLUDES += -I$(<D) -I$(@D)

-- 
Alex Bennée

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

* Re: [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored.
  2015-08-06  8:57   ` Alex Bennée
@ 2015-08-06  9:02     ` Michael S. Tsirkin
  2015-08-06 15:55       ` Alex Bennée
  0 siblings, 1 reply; 11+ messages in thread
From: Michael S. Tsirkin @ 2015-08-06  9:02 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Peter Maydell, Victor Kaplansky, Eduardo Habkost, Stefan Weil,
	qemu-devel, Paolo Bonzini, Igor Mammedov, Richard Henderson

On Thu, Aug 06, 2015 at 09:57:03AM +0100, Alex Bennée wrote:
> 
> Victor Kaplansky <victork@redhat.com> writes:
> 
> > In rules like "bar/%.o: %.c" there is a difference between $(*D) and
> > $(@D). It is cleaner to generate *.d next to appropriate *.o, because it
> > allows precise including of dependency info from .d files.
> 
> It might be worth putting the example in the comment as most people are
> not familiar with the esoteric symbolic of GNU Make. AIUI in your
> example $(@D) resolves to "bar" instead of "bar/%"
> 
> >
> > As a hack, we also touch two sources for generated *.hex files. This is
> > to ensure *.hex rebuild, when old revision is switched to the new one.
> 
> While I'm sure this was useful for testing do we really want to include
> such a hack in the git history?

This is the hint for why it's needed there:
"This is to ensure *.hex rebuild, when old revision is switched to the
new one."
Maybe add this, making this more explicit:
	Without this hack, anyone doing "git pull; make" will not get *.hex rebuilt
	correctly since the dependency file would be missing.


> >
> > Signed-off-by: Victor Kaplansky <victork@redhat.com>
> > ---
> >  hw/i386/acpi-dsdt.dsl     | 1 -
> >  hw/i386/q35-acpi-dsdt.dsl | 1 +
> >  rules.mak                 | 2 +-
> >  3 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
> > index a2d84ec..8dba096 100644
> > --- a/hw/i386/acpi-dsdt.dsl
> > +++ b/hw/i386/acpi-dsdt.dsl
> > @@ -43,7 +43,6 @@ DefinitionBlock (
> >  
> >  #include "acpi-dsdt-hpet.dsl"
> >  
> > -
> >  /****************************************************************
> >   * PIIX4 PM
> >   ****************************************************************/
> > diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
> > index 16eaca3..7be7b37 100644
> > --- a/hw/i386/q35-acpi-dsdt.dsl
> > +++ b/hw/i386/q35-acpi-dsdt.dsl
> > @@ -22,6 +22,7 @@
> >   * Based on acpi-dsdt.dsl, but heavily modified for q35 chipset.
> >   */
> >  
> > +
> >  ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
> >  
> >  DefinitionBlock (
> > diff --git a/rules.mak b/rules.mak
> > index aec27f8..6e35c36 100644
> > --- a/rules.mak
> > +++ b/rules.mak
> > @@ -17,7 +17,7 @@ MAKEFLAGS += -rR
> >  QEMU_CXXFLAGS = -D__STDC_LIMIT_MACROS $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wredundant-decls, $(QEMU_CFLAGS))
> >  
> >  # Flags for dependency generation
> > -QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
> > +QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
> >  
> >  # Same as -I$(SRC_PATH) -I., but for the nested source/object directories
> >  QEMU_INCLUDES += -I$(<D) -I$(@D)
> 
> -- 
> Alex Bennée

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

* Re: [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored.
  2015-08-06  9:02     ` Michael S. Tsirkin
@ 2015-08-06 15:55       ` Alex Bennée
  0 siblings, 0 replies; 11+ messages in thread
From: Alex Bennée @ 2015-08-06 15:55 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Peter Maydell, Victor Kaplansky, Eduardo Habkost, Stefan Weil,
	qemu-devel, Paolo Bonzini, Igor Mammedov, Richard Henderson


Michael S. Tsirkin <mst@redhat.com> writes:

> On Thu, Aug 06, 2015 at 09:57:03AM +0100, Alex Bennée wrote:
>> 
>> Victor Kaplansky <victork@redhat.com> writes:
>> 
<snip>
>> >
>> > As a hack, we also touch two sources for generated *.hex files. This is
>> > to ensure *.hex rebuild, when old revision is switched to the new one.
>> 
>> While I'm sure this was useful for testing do we really want to include
>> such a hack in the git history?
>
> This is the hint for why it's needed there:
> "This is to ensure *.hex rebuild, when old revision is switched to the
> new one."
> Maybe add this, making this more explicit:
> 	Without this hack, anyone doing "git pull; make" will not get *.hex rebuilt
> 	correctly since the dependency file would be missing.

Ahh that makes more sense :-)

-- 
Alex Bennée

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

end of thread, other threads:[~2015-08-06 15:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-05 17:27 [Qemu-devel] [PATCH v2 0/2] make: Cleanup and fix of loading of dependency info Victor Kaplansky
2015-08-05 17:28 ` [Qemu-devel] [PATCH v2 1/2] make: fix where dependency *.d are stored Victor Kaplansky
2015-08-06  8:57   ` Alex Bennée
2015-08-06  9:02     ` Michael S. Tsirkin
2015-08-06 15:55       ` Alex Bennée
2015-08-05 17:29 ` [Qemu-devel] [PATCH v2 2/2] make: load only required dependency files Victor Kaplansky
2015-08-05 17:40   ` Paolo Bonzini
2015-08-05 18:22     ` Victor kaplansky
2015-08-06  7:05     ` Markus Armbruster
2015-08-05 18:32   ` Michael S. Tsirkin
2015-08-05 18:51     ` Michael S. Tsirkin

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.