@@ -130,44 +130,6 @@ generated-files-y += module_block.h
generated-files-y += .git-submodule-status
-KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen
-KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv
-
-KEYCODEMAP_FILES = \
- ui/input-keymap-atset1-to-qcode.inc \
- ui/input-keymap-linux-to-qcode.inc \
- ui/input-keymap-qcode-to-atset1.inc \
- ui/input-keymap-qcode-to-atset2.inc \
- ui/input-keymap-qcode-to-atset3.inc \
- ui/input-keymap-qcode-to-linux.inc \
- ui/input-keymap-qcode-to-qnum.inc \
- ui/input-keymap-qcode-to-sun.inc \
- ui/input-keymap-qnum-to-qcode.inc \
- ui/input-keymap-usb-to-qcode.inc \
- ui/input-keymap-win32-to-qcode.inc \
- ui/input-keymap-x11-to-qcode.inc \
- ui/input-keymap-xorgevdev-to-qcode.inc \
- ui/input-keymap-xorgkbd-to-qcode.inc \
- ui/input-keymap-xorgxquartz-to-qcode.inc \
- ui/input-keymap-xorgxwin-to-qcode.inc \
- ui/input-keymap-osx-to-qcode.inc \
- $(NULL)
-
-generated-files-$(CONFIG_SOFTMMU) += $(KEYCODEMAP_FILES)
-
-ui/input-keymap-%.inc: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile.objs
- $(call quiet-command,\
- stem=$* && src=$${stem%-to-*} dst=$${stem#*-to-} && \
- test -e $(KEYCODEMAP_GEN) && \
- $(PYTHON) $(KEYCODEMAP_GEN) \
- --lang glib2 \
- --varname qemu_input_map_$${src}_to_$${dst} \
- code-map $(KEYCODEMAP_CSV) $${src} $${dst} \
- > $@ || rm -f $@, "GEN", "$@")
-
-$(KEYCODEMAP_GEN): .git-submodule-status
-$(KEYCODEMAP_CSV): .git-submodule-status
-
edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.bz2))
pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.bz2
$(call quiet-command,bzip2 -d -c $< > $@,"BUNZIP2",$<)
@@ -288,6 +288,7 @@ subdir('trace')
subdir('util')
subdir('crypto')
subdir('storage-daemon')
+subdir('ui')
# Build targets from sourcesets
new file mode 100644
@@ -0,0 +1,34 @@
+keymaps = [
+ ['atset1', 'qcode'],
+ ['linux', 'qcode'],
+ ['qcode', 'atset1'],
+ ['qcode', 'atset2'],
+ ['qcode', 'atset3'],
+ ['qcode', 'linux'],
+ ['qcode', 'qnum'],
+ ['qcode', 'sun'],
+ ['qnum', 'qcode'],
+ ['usb', 'qcode'],
+ ['win32', 'qcode'],
+ ['x11', 'qcode'],
+ ['xorgevdev', 'qcode'],
+ ['xorgkbd', 'qcode'],
+ ['xorgxquartz', 'qcode'],
+ ['xorgxwin', 'qcode'],
+ ['osx', 'qcode'],
+]
+
+if have_system
+ foreach e : keymaps
+ output = 'input-keymap-@0@-to-@1@.inc'.format(e[0], e[1])
+ genh += custom_target(output,
+ output: output,
+ capture: true,
+ build_by_default: true, # to be removed when added to a target
+ input: files('keycodemapdb/data/keymaps.csv'),
+ command: [python.full_path(), files('keycodemapdb/tools/keymap-gen'),
+ '--lang', 'glib2',
+ '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]),
+ 'code-map', '@INPUT0@', e[0], e[1]])
+ endforeach
+endif