|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 13/19] acpi: Makefile should better tolerate interrupts
Intermediate stages of building a target should be made with
temporary files that are copied to final target in the end.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
---
New in v3
tools/libacpi/Makefile | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
index 12b081e..2d8a954 100644
--- a/tools/libacpi/Makefile
+++ b/tools/libacpi/Makefile
@@ -21,38 +21,45 @@ MK_DSDT = $(ACPI_BUILD_DIR)/mk_dsdt
C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, dsdt_anycpu.c dsdt_15cpu.c
dsdt_anycpu_qemu_xen.c dsdt_pvh.c)
H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h
ssdt_tpm.h)
+ifeq ($(subst all,,$(MAKECMDGOALS)),)
+TDIR := $(shell mktemp -d --tmpdir=$(TMPDIR) tmp_XXXXXX)
+endif
+
vpath iasl $(PATH)
all: $(C_SRC) $(H_SRC)
+ rm -fr $(TDIR)
$(H_SRC): $(ACPI_BUILD_DIR)/%.h: %.asl iasl
- iasl -vs -p $(ACPI_BUILD_DIR)/$* -tc $<
- sed -e 's/AmlCode/$*/g' $(ACPI_BUILD_DIR)/$*.hex >$@
- rm -f $(addprefix $(ACPI_BUILD_DIR)/, $*.aml $*.hex)
+ iasl -vs -p $(TDIR)/$* -tc $<
+ sed -e 's/AmlCode/$*/g' $(TDIR)/$*.hex > $@
$(MK_DSDT): mk_dsdt.c
$(HOSTCC) $(HOSTCFLAGS) $(CFLAGS_xeninclude) -o $@ mk_dsdt.c
$(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen.asl: dsdt.asl dsdt_acpi_info.asl
$(MK_DSDT)
- awk 'NR > 1 {print s} {s=$$0}' $< > $@
- cat dsdt_acpi_info.asl >> $@
- $(MK_DSDT) --debug=$(debug) --dm-version qemu-xen >> $@
+ awk 'NR > 1 {print s} {s=$$0}' $< > $(TDIR)/$(@F)
+ cat dsdt_acpi_info.asl >> $(TDIR)/$(@F)
+ $(MK_DSDT) --debug=$(debug) --dm-version qemu-xen >> $(TDIR)/$(@F)
+ cp $(TDIR)/$(@F) $@
# NB. awk invocation is a portable alternative to 'head -n -1'
$(ACPI_BUILD_DIR)/dsdt_%cpu.asl: dsdt.asl dsdt_acpi_info.asl $(MK_DSDT)
- awk 'NR > 1 {print s} {s=$$0}' $< > $@
- cat dsdt_acpi_info.asl >> $@
- $(MK_DSDT) --debug=$(debug) --maxcpu $* >> $@
+ awk 'NR > 1 {print s} {s=$$0}' $< > $(TDIR)/$(@F)
+ cat dsdt_acpi_info.asl >> $(TDIR)/$(@F)
+ $(MK_DSDT) --debug=$(debug) --maxcpu $* >> $(TDIR)/$(@F)
+ cp $(TDIR)/$(@F) $@
$(ACPI_BUILD_DIR)/dsdt_pvh.asl: dsdt_acpi_info.asl $(MK_DSDT)
- printf "DefinitionBlock (\"DSDT.aml\", \"DSDT\", 5, \"Xen\", \"HVM\",
0)\n{" > $@
- cat dsdt_acpi_info.asl >> $@
- $(MK_DSDT) --debug=$(debug) --maxcpu any --dm-version none >> $@
+ printf "DefinitionBlock (\"DSDT.aml\", \"DSDT\", 5, \"Xen\", \"HVM\",
0)\n{" > $(TDIR)/$(@F)
+ cat dsdt_acpi_info.asl >> $(TDIR)/$(@F)
+ $(MK_DSDT) --debug=$(debug) --maxcpu any --dm-version none >>
$(TDIR)/$(@F)
+ cp $(TDIR)/$(@F) $@
$(C_SRC): $(ACPI_BUILD_DIR)/%.c: iasl $(ACPI_BUILD_DIR)/%.asl
- iasl -vs -p $(ACPI_BUILD_DIR)/$* -tc $(ACPI_BUILD_DIR)/$*.asl
- sed -e 's/AmlCode/$*/g' $(ACPI_BUILD_DIR)/$*.hex >$@
- echo "int $*_len=sizeof($*);" >>$@
- rm -f $(addprefix $(ACPI_BUILD_DIR)/, $*.aml $*.hex)
+ iasl -vs -p $(TDIR)/$* -tc $(TDIR)/$*.asl
+ sed -e 's/AmlCode/$*/g' $(TDIR)/$*.hex > $(TDIR)/$(@F)
+ echo "int $*_len=sizeof($*);" >> $(TDIR)/$(@F)
+ cp $(TDIR)/$(@F) $@
iasl:
@echo
--
1.8.3.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |