aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile8
-rw-r--r--Makefile.target6
-rw-r--r--meson.build22
-rwxr-xr-x[-rw-r--r--]scripts/hxtool2
4 files changed, 24 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index e7394e748d..13df463e33 100644
--- a/Makefile
+++ b/Makefile
@@ -121,7 +121,7 @@ include $(SRC_PATH)/rules.mak
# lor is defined in rules.mak
CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
-generated-files-y = config-host.h qemu-options.def
+generated-files-y = config-host.h
generated-files-y += module_block.h
@@ -263,8 +263,6 @@ all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all mo
config-host.h: config-host.h-timestamp
config-host.h-timestamp: config-host.mak
-qemu-options.def: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
- $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@")
TARGET_DIRS_RULES := $(foreach t, all fuzz clean install, $(addsuffix /$(t), $(TARGET_DIRS)))
@@ -371,9 +369,6 @@ ifdef CONFIG_MPATH
scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmultipath -lmpathpersist
endif
-qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
- $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@")
-
module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
$(call quiet-command,$(PYTHON) $< $@ \
$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
@@ -392,7 +387,6 @@ clean: recurse-clean ninja-clean clean-ctlist
rm -f $(edk2-decompressed)
rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) TAGS cscope.* *.pod *~ */*~
rm -f fsdev/*.pod scsi/*.pod
- rm -f qemu-img-cmds.h
rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
rm -f config-all-devices.mak
rm -f $(SUBDIR_DEVICES_MAK)
diff --git a/Makefile.target b/Makefile.target
index 0b323641bb..257afc2723 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -225,12 +225,6 @@ endif
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES),"GEN","$(TARGET_DIR)$@")
-hmp-commands.h: $(SRC_PATH)/hmp-commands.hx $(SRC_PATH)/scripts/hxtool
- $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$(TARGET_DIR)$@")
-
-hmp-commands-info.h: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxtool
- $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$(TARGET_DIR)$@")
-
clean: clean-target
rm -f *.a *~ $(PROGS)
rm -f $(shell find . -name '*.[od]')
diff --git a/meson.build b/meson.build
index 2fb209b228..222b0d0e77 100644
--- a/meson.build
+++ b/meson.build
@@ -159,6 +159,7 @@ have_block = have_system or have_tools
# Generators
genh = []
+hxtool = find_program('scripts/hxtool')
shaderinclude = find_program('scripts/shaderinclude.pl')
qapi_gen = find_program('scripts/qapi-gen.py')
qapi_gen_depends = [ meson.source_root() / 'scripts/qapi/__init__.py',
@@ -196,6 +197,27 @@ qemu_version = custom_target('qemu-version.h',
build_always_stale: true)
genh += qemu_version
+hxdep = []
+hx_headers = [
+ ['qemu-options.hx', 'qemu-options.def'],
+ ['qemu-img-cmds.hx', 'qemu-img-cmds.h'],
+]
+if have_system
+ hx_headers += [
+ ['hmp-commands.hx', 'hmp-commands.h'],
+ ['hmp-commands-info.hx', 'hmp-commands-info.h'],
+ ]
+endif
+foreach d : hx_headers
+ custom_target(d[1],
+ input: files(d[0]),
+ output: d[1],
+ capture: true,
+ build_by_default: true, # to be removed when added to a target
+ command: [hxtool, '-h', '@INPUT0@'])
+endforeach
+genh += hxdep
+
# Collect sourcesets.
util_ss = ss.source_set()
diff --git a/scripts/hxtool b/scripts/hxtool
index 7b1452f3cf..80516b9437 100644..100755
--- a/scripts/hxtool
+++ b/scripts/hxtool
@@ -19,6 +19,6 @@ hxtoh()
case "$1" in
"-h") hxtoh ;;
*) exit 1 ;;
-esac
+esac < "$2"
exit 0