Should EXTRA_FIRMWARE include full path to output directory?
{pts/1}% LC_ALL=C make -C ~/src/linux-git O=$HOME/build/linux-2.6.29
make: Entering directory `/home/bor/src/linux-git'
Using /home/bor/src/linux-git as source for kernel
ln -fsn /home/bor/src/linux-git source
GEN /home/bor/build/linux-2.6.29/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL /home/bor/src/linux-git/scripts/checksyscalls.sh
CHK include/linux/compile.h/home/bor/src/linux-git/firmware/Makefile:156: warning: overriding commands for target firmware/e100/d101m_ucode.bin.gen.S' /home/bor/src/linux-git/firmware/Makefile:153: warning: ignoring old commands for target firmware/e100/d101m_ucode.bin.gen.S'
AS firmware/e100/d101m_ucode.bin.gen.ofirmware/e100/d101m_ucode.bin.gen.S: Assembler messages:firmware/e100/d101m_ucode.bin.gen.S:5: Error: file not found:/home/bor/src/linux-git/firmware/e100/d101m_ucode.bin
make[2]: *** [firmware/e100/d101m_ucode.bin.gen.o] Error 1 make[1]: *** [firmware] Error 2
make: *** [sub-make] Error 2
make: Leaving directory `/home/bor/src/linux-git'
{pts/1}% grep e100 ~/build/linux-2.6.29/.config CONFIG_EXTRA_FIRMWARE="e100/d101m_ucode.bin"