@@ -22,7 +22,7 @@ QEMU_CFLAGS += -I.. -I$(TARGET_PATH) -DNEED_CPU_H
qidl-dir := $(SRC_PATH)/qidl-generated
qapi-dir := $(BUILD_DIR)/qapi-generated
-QEMU_CFLAGS += -I$(qapi-dir)
+QEMU_CFLAGS += -I$(qapi-dir) -I$(qidl-dir)
include $(SRC_PATH)/Makefile.objs
@@ -74,7 +74,7 @@ else
stap:
endif
-all: $(PROGS) stap
+all: $(PROGS) stap $(QIDL_VMSTATE)
# Dummy command so that make thinks it has done something
@true
@@ -109,6 +109,19 @@ $(QIDL_DEVICE_VISITORS): $(QIDL_DEVICE_VISITOR_SOURCES)
$(QIDL_DEVICES): $(QIDL_DEVICE_VISITORS)
#########################################################
+# QIDL-generated vmstate field descriptions
+QIDL_SOURCES_VMSTATE_SHORT=hw/mc146818rtc_state.h
+QIDL_SOURCES_VMSTATE=$(addprefix $(SRC_PATH)/, $(QIDL_SOURCES_VMSTATE_SHORT))
+QIDL_VMSTATE=$(patsubst %.h,$(qidl-dir)/%_vmstate.h, $(subst _state,, $(notdir $(QIDL_SOURCES_VMSTATE))))
+
+$(QIDL_VMSTATE) qidl-vmstate: $(QIDL_SOURCES_VMSTATE)
+ mkdir -p $(qidl-dir)
+ for f in $(QIDL_SOURCES_VMSTATE); do \
+ vmstate_filename=$(qidl-dir)/`basename $$(basename $$f .h) _state`_vmstate.h; \
+ $(PYTHON) $(SRC_PATH)/scripts/qc.py --vmstate < $$f >$$vmstate_filename; \
+ done
+
+#########################################################
# cpu emulator library
libobj-y = exec.o translate-all.o cpu-exec.o translate.o
libobj-y += tcg/tcg.o tcg/optimize.o
This will rebuild the vmstate descriptions in $(SRC_DIR)/qidl-generated whenever we do a build where one of the annotated sources has been modified. As a result, changes will be reflected in the working tree so we can detect changes and commit them in cases where the changes are correct/expected. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> --- Makefile.target | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)