summaryrefslogtreecommitdiff
path: root/v4l2-apps/util/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'v4l2-apps/util/Makefile')
-rw-r--r--v4l2-apps/util/Makefile20
1 files changed, 19 insertions, 1 deletions
diff --git a/v4l2-apps/util/Makefile b/v4l2-apps/util/Makefile
index 8555ef5b6..7d497c82b 100644
--- a/v4l2-apps/util/Makefile
+++ b/v4l2-apps/util/Makefile
@@ -6,7 +6,7 @@ binaries = v4l2-ctl
.PHONY: all clean install qv4l2
-all: $(binaries) qv4l2
+all: $(binaries) qv4l2 keytable
clean::
rm -f $(binaries)
@@ -20,3 +20,21 @@ qv4l2:
install:
include ../Make.rules
+
+parse.h: /usr/include/linux/input.h
+ @echo generating parse.h
+ @echo -en "struct parse_key {\n\tchar *name;\n\tunsigned int value;\n} " >parse.h
+ @echo -en "keynames[] = {\n" >>parse.h
+
+ @more /usr/include/linux/input.h |perl -n \
+ -e 'if (m/^\#define\s+(KEY_[^\s]+)\s+(0x[\d\w]+|[\d]+)/) ' \
+ -e '{ printf "\t{\"%s\", %s},\n",$$1,$$2; }' \
+ -e 'if (m/^\#define\s+(BTN_[^\s]+)\s+(0x[\d\w]+|[\d]+)/) ' \
+ -e '{ printf "\t{\"%s\", %s},\n",$$1,$$2; }' \
+ >> parse.h
+ @echo -en "\t{ NULL, 0}\n};\n" >>parse.h
+
+keytables:
+ ./gen_keytables.pl ../../v4l/ir-keymaps.c
+
+keytable: keytable.c parse.h keytables