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 ' >> $@ @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