From a7d03d5342bc0f5989cebf138fd566f97f555089 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 May 2021 19:32:23 -0600 Subject: [PATCH] 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 Signed-off-by: Simon Glass --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4dc3345989..3a6cd15460 100644 --- a/Makefile +++ b/Makefile @@ -2010,9 +2010,11 @@ CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h tools/version.h \ # Directories & files removed with 'make mrproper' MRPROPER_DIRS += include/config include/generated spl tpl \ .tmp_objdiff doc/output + +# Remove include/asm symlink created by U-Boot before v2014.01 MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \ ctags etags tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \ - drivers/video/fonts/*.S + drivers/video/fonts/*.S include/asm # clean - Delete most, but leave enough to build external modules #