Makefile: Handle building in a very old build directory
authorSimon Glass <sjg@chromium.org>
Fri, 7 May 2021 01:32:23 +0000 (19:32 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 17 May 2021 21:18:40 +0000 (17:18 -0400)
commita7d03d5342bc0f5989cebf138fd566f97f555089
tree43fce2fd79e2041b3262a793c928e5bb97d430b4
parenteefa9d7f089f5da5646b40bd713e8c42b27c2e43
Makefile: Handle building in a very old build directory

Versions of U-Boot before 2014.01 created a symlink from include/asm to
the architecture-specific header directory.

If an ARM board is build with that old version, then sandbox is built on
a more recent version (both with in-tree builds), the include/asm symlink
confuses the build system. It picks up the ARM headers when it should be
using the sandbox ones.

Since 2014 U-Boot has only created a symlink inside the include/asm/
directory and only for out-of-tree builds. So for in-tree builds it does
not expect to see an include/asm symlink. It is not removed by
'make mrproper'. It does show up with 'git status' but is easy enough to
miss.

Add include/asm to the files to remove with 'make mkproper'. For recent
U-Boot builds this has no effect, since include/asm is a directory, not a
file. If the include/asm symlink is there, it will be removed.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Makefile