[b2b1e1a] | 1 | # Custom systemd Makefile include that builds/installs keymap tool only for LFS
|
---|
| 2 |
|
---|
| 3 | # vim: tabstop=3
|
---|
| 4 |
|
---|
| 5 | KEYMAPS = \
|
---|
| 6 | keymaps/acer \
|
---|
| 7 | keymaps/acer-aspire_5720 \
|
---|
| 8 | keymaps/acer-aspire_5920g \
|
---|
| 9 | keymaps/acer-aspire_6920 \
|
---|
[8f4ae4a] | 10 | keymaps/acer-aspire_8930 \
|
---|
[b2b1e1a] | 11 | keymaps/acer-travelmate_c300 \
|
---|
| 12 | keymaps/asus \
|
---|
| 13 | keymaps/compaq-e_evo \
|
---|
| 14 | keymaps/dell \
|
---|
| 15 | keymaps/dell-latitude-xt2 \
|
---|
| 16 | keymaps/everex-xt5000 \
|
---|
| 17 | keymaps/fujitsu-amilo_li_2732 \
|
---|
| 18 | keymaps/fujitsu-amilo_pa_2548 \
|
---|
| 19 | keymaps/fujitsu-amilo_pro_edition_v3505 \
|
---|
| 20 | keymaps/fujitsu-amilo_pro_v3205 \
|
---|
| 21 | keymaps/fujitsu-amilo_si_1520 \
|
---|
| 22 | keymaps/fujitsu-esprimo_mobile_v5 \
|
---|
| 23 | keymaps/fujitsu-esprimo_mobile_v6 \
|
---|
| 24 | keymaps/genius-slimstar-320 \
|
---|
| 25 | keymaps/hewlett-packard \
|
---|
| 26 | keymaps/hewlett-packard-2510p_2530p \
|
---|
| 27 | keymaps/hewlett-packard-compaq_elitebook \
|
---|
[8f4ae4a] | 28 | keymaps/hewlett-packard_elitebook-8440p \
|
---|
| 29 | keymaps/hewlett-packard-hdx9494nr \
|
---|
[b2b1e1a] | 30 | keymaps/hewlett-packard-pavilion \
|
---|
| 31 | keymaps/hewlett-packard-presario-2100 \
|
---|
| 32 | keymaps/hewlett-packard-tablet \
|
---|
| 33 | keymaps/hewlett-packard-tx2 \
|
---|
| 34 | keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
|
---|
| 35 | keymaps/inventec-symphony_6.0_7.0 \
|
---|
| 36 | keymaps/lenovo-3000 \
|
---|
| 37 | keymaps/lenovo-ideapad \
|
---|
| 38 | keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
|
---|
| 39 | keymaps/lenovo-thinkpad_x200_tablet \
|
---|
[8f4ae4a] | 40 | keymaps/lenovo-thinkpad_x6_tablet \
|
---|
[b2b1e1a] | 41 | keymaps/lg-x110 \
|
---|
| 42 | keymaps/logitech-wave \
|
---|
| 43 | keymaps/logitech-wave-cordless \
|
---|
| 44 | keymaps/logitech-wave-pro-cordless \
|
---|
| 45 | keymaps/maxdata-pro_7000 \
|
---|
| 46 | keymaps/medion-fid2060 \
|
---|
| 47 | keymaps/medionnb-a555 \
|
---|
| 48 | keymaps/micro-star \
|
---|
| 49 | keymaps/module-asus-w3j \
|
---|
| 50 | keymaps/module-ibm \
|
---|
| 51 | keymaps/module-lenovo \
|
---|
| 52 | keymaps/module-sony \
|
---|
| 53 | keymaps/module-sony-old \
|
---|
| 54 | keymaps/module-sony-vgn \
|
---|
[8f4ae4a] | 55 | keymaps/module-sony-vpc \
|
---|
[b2b1e1a] | 56 | keymaps/olpc-xo \
|
---|
| 57 | keymaps/onkyo \
|
---|
| 58 | keymaps/oqo-model2 \
|
---|
| 59 | keymaps/samsung-other \
|
---|
[8f4ae4a] | 60 | keymaps/samsung-series-9 \
|
---|
[b2b1e1a] | 61 | keymaps/samsung-sq1us \
|
---|
| 62 | keymaps/samsung-sx20s \
|
---|
| 63 | keymaps/toshiba-satellite_a100 \
|
---|
| 64 | keymaps/toshiba-satellite_a110 \
|
---|
| 65 | keymaps/toshiba-satellite_m30x \
|
---|
| 66 | keymaps/zepto-znote
|
---|
| 67 |
|
---|
[8f4ae4a] | 68 | KEYMAPS_FR = \
|
---|
| 69 | keymaps-force-release/common-volume-keys \
|
---|
| 70 | keymaps-force-release/dell-touchpad \
|
---|
| 71 | keymaps-force-release/dell-xps \
|
---|
| 72 | keymaps-force-release/hp-other \
|
---|
| 73 | keymaps-force-release/samsung-other \
|
---|
| 74 | keymaps-force-release/samsung-series-9 \
|
---|
[b2b1e1a] | 75 |
|
---|
| 76 | KEYMAP_DEPS = common src/udev/keymap/keys-from-name.h src/udev/keymap/keys-to-name.h
|
---|
| 77 |
|
---|
| 78 | src/udev/keymap/keys.txt:
|
---|
| 79 | @echo GEN $@
|
---|
| 80 | $(VB)awk '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ \
|
---|
| 81 | { \
|
---|
| 82 | if ($$2 != "KEY_MAX") { print $$2 } \
|
---|
| 83 | }' \
|
---|
| 84 | /usr/include/linux/input.h | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
|
---|
| 85 |
|
---|
| 86 | src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt
|
---|
| 87 | @echo GEN $@
|
---|
| 88 | $(VB)awk 'BEGIN \
|
---|
| 89 | { \
|
---|
| 90 | print "struct key \
|
---|
| 91 | { \
|
---|
| 92 | const char* name; \
|
---|
| 93 | unsigned short id; \
|
---|
| 94 | };"; \
|
---|
| 95 | \
|
---|
| 96 | print "%null-strings"; print "%%"; \
|
---|
| 97 | } \
|
---|
| 98 | { \
|
---|
| 99 | print $$1 ", " $$1 \
|
---|
| 100 | }' $< > $@
|
---|
| 101 |
|
---|
| 102 | src/udev/keymap/keys-from-name.h: src/udev/keymap/keys-from-name.gperf
|
---|
| 103 | @echo GEN $@
|
---|
| 104 | $(VB)gperf -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C $< > $@
|
---|
| 105 |
|
---|
| 106 | src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt
|
---|
| 107 | @echo GEN $@
|
---|
| 108 | $(VB)awk 'BEGIN \
|
---|
| 109 | { \
|
---|
| 110 | print "const char* const key_names[KEY_CNT] = { " \
|
---|
| 111 | } \
|
---|
| 112 | { \
|
---|
| 113 | print "[" $$1 "] = \"" $$1 "\"," \
|
---|
| 114 | } \
|
---|
| 115 | END{print "};" \
|
---|
| 116 | }' $< > $@
|
---|
| 117 |
|
---|
| 118 | build/keymap: src/udev/keymap/keymap.c build/$(COMMON_LIB) $(KEYMAP_DEPS)
|
---|
| 119 | @echo LINK $@
|
---|
| 120 | $(VB)gcc $< -o $@ -I src/udev/keymap $(WARN) $(OPTIONS2) $(INCLUDE) $(DEF) \
|
---|
| 121 | build/$(COMMON_LIB) $(LDFLAGS)
|
---|
| 122 | $(VB)strip --strip-unneeded $@
|
---|
| 123 |
|
---|
| 124 | keymap: build/keymap
|
---|
| 125 |
|
---|
| 126 | install-keymap: keymap
|
---|
| 127 | @mkdir -pv $(DESTDIR)/lib/udev/keymaps/force-release \
|
---|
| 128 | $(DESTDIR)/lib/udev/rules.d \
|
---|
| 129 | $(DESTDIR)/usr/share/doc/udev
|
---|
| 130 |
|
---|
| 131 | @cp -v build/keymap $(DESTDIR)/lib/udev
|
---|
| 132 |
|
---|
| 133 | @cp -v $(KEYMAPS) $(DESTDIR)/lib/udev/keymaps
|
---|
| 134 | @cp -v $(KEYMAPS_FR) $(DESTDIR)/lib/udev/keymaps/force-release
|
---|
| 135 |
|
---|
| 136 | @cp -v src/udev/keymap/*.rules $(DESTDIR)/lib/udev/rules.d
|
---|
| 137 | @cp -v src/udev/keymap/findkeyboards $(DESTDIR)/lib/udev
|
---|
| 138 |
|
---|
| 139 | @cp -v src/udev/keymap/*.txt $(DESTDIR)/usr/share/doc/udev
|
---|
| 140 |
|
---|
| 141 | @sed -e 's|@udevlibexecdir@|/lib/udev|g' \
|
---|
| 142 | src/udev/keymap/keyboard-force-release.sh.in \
|
---|
| 143 | > $(DESTDIR)/lib/udev/keyboard-force-release.sh
|
---|
| 144 |
|
---|
| 145 | @chmod 0755 $(DESTDIR)/lib/udev/keyboard-force-release.sh
|
---|
| 146 |
|
---|
| 147 | clean-keymap:
|
---|
| 148 | rm -f src/udev/keymap/keys.txt
|
---|
| 149 | rm -f src/udev/keymap/keys-from-name.gperf
|
---|
| 150 | rm -f src/udev/keymap/keys-from-name.h
|
---|
| 151 | rm -f src/udev/keymap/keys-to-name.h
|
---|
| 152 | rm -f build/keymap
|
---|
| 153 |
|
---|
| 154 | .PHONY: clean-keymap
|
---|