diff mbox

Makefile.objs: add dummy rule for .dsl files

Message ID 1424968408-16786-1-git-send-email-mst@redhat.com
State New
Headers show

Commit Message

Michael S. Tsirkin Feb. 26, 2015, 4:33 p.m. UTC
.hex files are created from .dsl files, so
cpp adds the dependency %.hex: %.dsl automatically,
but fails to add a dummy rule so if .dsl
file is missing, make will fail.

This happened to us in the past when we
removed some dsl files.

Create an extra .d file with a dummy dependency.

Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/i386/Makefile.objs | 1 +
 1 file changed, 1 insertion(+)

Comments

Paolo Bonzini Feb. 27, 2015, 6:41 p.m. UTC | #1
On 26/02/2015 17:33, Michael S. Tsirkin wrote:
> .hex files are created from .dsl files, so
> cpp adds the dependency %.hex: %.dsl automatically,
> but fails to add a dummy rule so if .dsl
> file is missing, make will fail.
> 
> This happened to us in the past when we
> removed some dsl files.
> 
> Create an extra .d file with a dummy dependency.
> 
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>  hw/i386/Makefile.objs | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index 45b90a8..7a47914 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -19,6 +19,7 @@ iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
>  ifdef IASL
>  #IASL Present. Generate hex files from .dsl
>  hw/i386/%.hex: $(SRC_PATH)/hw/i386/%.dsl $(SRC_PATH)/scripts/acpi_extract_preprocess.py $(SRC_PATH)/scripts/acpi_extract.py
> +	$(call quiet-command, echo "$<:" > "$@"-extra.d, "  DEP $@")
>  	$(call quiet-command, $(CPP) -x c -P $(QEMU_DGFLAGS) $(QEMU_INCLUDES) $< -o $*.dsl.i.orig, "  CPP $(TARGET_DIR)$*.dsl.i.orig")
>  	$(call quiet-command, $(PYTHON) $(SRC_PATH)/scripts/acpi_extract_preprocess.py $*.dsl.i.orig > $*.dsl.i, "  ACPI_PREPROCESS $(TARGET_DIR)$*.dsl.i")
>  	$(call quiet-command, $(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $* $*.dsl.i $(if $(V), , > /dev/null) 2>&1 ,"  IASL $(TARGET_DIR)$*.dsl.i")
> 

Applied, thanks.

Paolo
Michael S. Tsirkin March 1, 2015, 4:50 p.m. UTC | #2
On Fri, Feb 27, 2015 at 07:41:29PM +0100, Paolo Bonzini wrote:
> 
> 
> On 26/02/2015 17:33, Michael S. Tsirkin wrote:
> > .hex files are created from .dsl files, so
> > cpp adds the dependency %.hex: %.dsl automatically,
> > but fails to add a dummy rule so if .dsl
> > file is missing, make will fail.
> > 
> > This happened to us in the past when we
> > removed some dsl files.
> > 
> > Create an extra .d file with a dummy dependency.
> > 
> > Cc: Peter Maydell <peter.maydell@linaro.org>
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> >  hw/i386/Makefile.objs | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> > index 45b90a8..7a47914 100644
> > --- a/hw/i386/Makefile.objs
> > +++ b/hw/i386/Makefile.objs
> > @@ -19,6 +19,7 @@ iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
> >  ifdef IASL
> >  #IASL Present. Generate hex files from .dsl
> >  hw/i386/%.hex: $(SRC_PATH)/hw/i386/%.dsl $(SRC_PATH)/scripts/acpi_extract_preprocess.py $(SRC_PATH)/scripts/acpi_extract.py
> > +	$(call quiet-command, echo "$<:" > "$@"-extra.d, "  DEP $@")
> >  	$(call quiet-command, $(CPP) -x c -P $(QEMU_DGFLAGS) $(QEMU_INCLUDES) $< -o $*.dsl.i.orig, "  CPP $(TARGET_DIR)$*.dsl.i.orig")
> >  	$(call quiet-command, $(PYTHON) $(SRC_PATH)/scripts/acpi_extract_preprocess.py $*.dsl.i.orig > $*.dsl.i, "  ACPI_PREPROCESS $(TARGET_DIR)$*.dsl.i")
> >  	$(call quiet-command, $(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $* $*.dsl.i $(if $(V), , > /dev/null) 2>&1 ,"  IASL $(TARGET_DIR)$*.dsl.i")
> > 
> 
> Applied, thanks.
> 
> Paolo

Hmm, it turns out while this helps sometimes,
sometimes this results in a hard to debug error
as we try to run preprocessor on the non-existent .dsl.

If not too late, I suggest you drop this one for now.
If too late, probably not worth reverting.
Paolo Bonzini March 2, 2015, 10:23 a.m. UTC | #3
On 01/03/2015 17:50, Michael S. Tsirkin wrote:
> Hmm, it turns out while this helps sometimes,
> sometimes this results in a hard to debug error
> as we try to run preprocessor on the non-existent .dsl.
> 
> If not too late, I suggest you drop this one for now.
> If too late, probably not worth reverting.
> 

Okay, dropped.

Paolo
diff mbox

Patch

diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 45b90a8..7a47914 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -19,6 +19,7 @@  iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
 ifdef IASL
 #IASL Present. Generate hex files from .dsl
 hw/i386/%.hex: $(SRC_PATH)/hw/i386/%.dsl $(SRC_PATH)/scripts/acpi_extract_preprocess.py $(SRC_PATH)/scripts/acpi_extract.py
+	$(call quiet-command, echo "$<:" > "$@"-extra.d, "  DEP $@")
 	$(call quiet-command, $(CPP) -x c -P $(QEMU_DGFLAGS) $(QEMU_INCLUDES) $< -o $*.dsl.i.orig, "  CPP $(TARGET_DIR)$*.dsl.i.orig")
 	$(call quiet-command, $(PYTHON) $(SRC_PATH)/scripts/acpi_extract_preprocess.py $*.dsl.i.orig > $*.dsl.i, "  ACPI_PREPROCESS $(TARGET_DIR)$*.dsl.i")
 	$(call quiet-command, $(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $* $*.dsl.i $(if $(V), , > /dev/null) 2>&1 ,"  IASL $(TARGET_DIR)$*.dsl.i")