diff options
Diffstat (limited to 'src/Makefile.am')
-rw-r--r-- | src/Makefile.am | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index c0b154a..8e04f69 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,7 @@ sbin_PROGRAMS = keyfuzz -keyfuzz_SOURCES = keyfuzz.c cmdline.c cmdline.h +keyfuzz_SOURCES = keyfuzz.c cmdline.c cmdline.h keys-from-name.h keys-to-name.h keyfuzz_CFLAGS = $(AM_CFLAGS) -DPKGSYSCONFDIR="\"${sysconfdir}/@PACKAGE@\"" EXTRA_DIST = keyfuzz.ggo @@ -29,9 +29,24 @@ CLEANFILES = if USE_GENGETOPT CLEANFILES += cmdline.c cmdline.h -BUILT_SOURCES += cmdline.c cmdline.h +BUILT_SOURCES += cmdline.c cmdline.h cmdline.c cmdline.h: keyfuzz.ggo Makefile gengetopt < $< endif + +keys.txt: input.h Makefile + awk '/^#define.*KEY_/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< > $@ + +keys-from-name.gperf: keys.txt Makefile + awk 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@ + +keys-from-name.h: keys-from-name.gperf Makefile + gperf -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@ + +keys-to-name.h: keys.txt Makefile + awk 'BEGIN{ print "const char* const key_names[KEY_MAX] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ + +CLEANFILES += keys-from-name.h keys-to-name.h +BUILT_SOURCES += keys-from-name.h keys-to-name.h |