aboutsummaryrefslogtreecommitdiffstats
path: root/util/av7110_loadkeys/Makefile
blob: e83e069c2aab4ffb49b0cd51a7781868aa90c848 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CC = gcc
CFLAGS = -g -Wall -O2

all: av7110_loadkeys evtest

av7110_loadkeys: av7110_loadkeys.o

evtest: evtest.o

av7110_loadkeys.o: av7110_loadkeys.c input_keynames.h

evtest.o: evtest.c input_keynames.h


input_keynames.h: /usr/include/linux/input.h input_fake.h
	@echo 'generate $@...'
	@echo '#ifndef __INPUT_KEYNAMES_H__' > $@
	@echo '#define __INPUT_KEYNAMES_H__' >> $@
	@echo '' >> $@
	@echo '#include <linux/input.h>' >> $@
	@echo '' >> $@
	@echo '#if !defined(KEY_OK)' >> $@
	@echo '#include "input_fake.h"' >> $@
	@echo '#endif' >> $@
	@echo '' >> $@
	@echo '' >> $@
	@echo 'struct input_key_name {' >> $@
	@echo '        const char *name;' >> $@
	@echo '        int         key;' >> $@
	@echo '};' >> $@
	@echo '' >> $@
	@echo '' >> $@
	@echo 'static struct input_key_name key_name [] = {' >> $@
	@for x in `cat /usr/include/linux/input.h input_fake.h | \
	          grep KEY_ | grep "#define" | grep -v KEY_MAX | \
		  cut -f 1 | cut -f 2 -d ' ' | sort | uniq` ; do \
		echo "        { \"`echo $$x | cut -b 5-`\", $$x }," >> $@ \
		; \
	done
	@echo '};' >> $@
	@echo '' >> $@
	@echo '#endif  /* __INPUT_KEYNAMES_H */' >> $@
	@echo '' >> $@


clean:
	$(RM) core* *.o input_keynames.h av7110_loadkeys evtest