common.mk: tweak rules to workaround make-3.80 bugs
I got some reports from people who use make-3.80 that mtd-utils wasn't
building correctly the first time. Turns out that older versions of make
misbehave with pattern rules and full paths. So I've tweaked the code a
little to work with make-3.80 and make-3.81 (the latest release).
Also, I added a small optimization to avoid running `mkdir` when building
in-tree.
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>