source: udev-lfs/makefile-incl.keymap@ 028c886

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 12.2 12.2-rc1 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/loongarch-12.2 xry111/mips64el xry111/multilib xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 028c886 was 028c886, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

Update udev-lfs files for systemd-201

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10243 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.1 KB
Line 
1# Custom systemd Makefile include that builds/installs keymap tool only for LFS
2
3# vim: tabstop=3
4
5KEYMAPS = $(shell ls keymaps/* | sort)
6KEYMAPS_FR = $(shell ls keymaps-force-release/* | sort)
7
8KEYMAP_DEPS = common src/udev/keymap/keys-from-name.h src/udev/keymap/keys-to-name.h
9
10src/udev/keymap/keys.txt:
11 @echo GEN $@
12 $(VB)awk '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ \
13 { \
14 if ($$2 != "KEY_MAX") { print $$2 } \
15 }' \
16 /usr/include/linux/input.h | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
17
18src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt
19 @echo GEN $@
20 $(VB)awk 'BEGIN \
21 { \
22 print "struct key \
23 { \
24 const char* name; \
25 unsigned short id; \
26 };"; \
27 \
28 print "%null-strings"; print "%%"; \
29 } \
30 { \
31 print $$1 ", " $$1 \
32 }' $< > $@
33
34src/udev/keymap/keys-from-name.h: src/udev/keymap/keys-from-name.gperf
35 @echo GEN $@
36 $(VB)gperf -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C $< > $@
37
38src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt
39 @echo GEN $@
40 $(VB)awk 'BEGIN \
41 { \
42 print "const char* const key_names[KEY_CNT] = { " \
43 } \
44 { \
45 print "[" $$1 "] = \"" $$1 "\"," \
46 } \
47 END{print "};" \
48 }' $< > $@
49
50build/keymap: src/udev/keymap/keymap.c build/$(COMMON_LIB) $(KEYMAP_DEPS)
51 @echo LINK $@
52 $(VB)gcc $< -o $@ -I src/udev/keymap $(WARN) $(OPTIONS2) $(INCLUDE) $(DEF) \
53 build/$(COMMON_LIB) $(LDFLAGS)
54 $(VB)strip --strip-unneeded $@
55
56keymap: build/keymap
57
58install-keymap: keymap
59 @mkdir -pv $(DESTDIR)/lib/udev/keymaps/force-release \
60 $(DESTDIR)/lib/udev/rules.d \
61 $(DESTDIR)/usr/share/doc/udev
62
63 @cp -v build/keymap $(DESTDIR)/lib/udev
64
65 @cp -v $(KEYMAPS) $(DESTDIR)/lib/udev/keymaps
66 @cp -v $(KEYMAPS_FR) $(DESTDIR)/lib/udev/keymaps/force-release
67
68 @cp -v src/udev/keymap/*.rules $(DESTDIR)/lib/udev/rules.d
69 @cp -v src/udev/keymap/findkeyboards $(DESTDIR)/lib/udev
70
71 @cp -v src/udev/keymap/*.txt $(DESTDIR)/usr/share/doc/udev
72
73 @sed -e 's|@udevlibexecdir@|/lib/udev|g' \
74 src/udev/keymap/keyboard-force-release.sh.in \
75 > $(DESTDIR)/lib/udev/keyboard-force-release.sh
76
77 @chmod 0755 $(DESTDIR)/lib/udev/keyboard-force-release.sh
78
79clean-keymap:
80 rm -f src/udev/keymap/keys.txt
81 rm -f src/udev/keymap/keys-from-name.gperf
82 rm -f src/udev/keymap/keys-from-name.h
83 rm -f src/udev/keymap/keys-to-name.h
84 rm -f build/keymap
85
86.PHONY: clean-keymap
Note: See TracBrowser for help on using the repository browser.