2007-10-08 22:41:36

by Maarten Bressers

[permalink] [raw]
Subject: [PATCH] Correct Makefile rule for generating custom keymap.

When building a custom keymap, after setting GENERATE_KEYMAP := 1 in
drivers/char/Makefile, the kernel build fails like this:

CC drivers/char/vt.o
make[2]: *** No rule to make target `drivers/char/%.map', needed by
`drivers/char/defkeymap.c'. Stop.
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2

This was caused by commit af8b128719f5248e542036ea994610a29d0642a6,
which deleted a necessary colon from the Makefile rule that generates
the keymap, since that rule contains both a target and a target-pattern.
The following patch puts the colon back:

Signed-off by: Maarten Bressers <[email protected]>


--- a/drivers/char/Makefile 2007-10-08 23:46:47.000000000 +0200
+++ b/drivers/char/Makefile 2007-10-08 23:46:57.000000000 +0200
@@ -129,7 +129,7 @@ $(obj)/defkeymap.o: $(obj)/defkeymap.c

ifdef GENERATE_KEYMAP

-$(obj)/defkeymap.c $(obj)/%.c: $(src)/%.map
+$(obj)/defkeymap.c: $(obj)/%.c: $(src)/%.map
loadkeys --mktable $< > [email protected]
sed -e 's/^static *//' [email protected] > $@
rm [email protected]