From f68ed0bcb8a7f86510fe932c4519366776b1671d Mon Sep 17 00:00:00 2001 From: Andrey Zhizhikin Date: Sat, 1 May 2021 22:12:21 +0200 Subject: Makefile: allow to override python3 Python3 taken from the PATH causes build issues when pylibfdt bindings are generated with Yocto SDK. Python3 provided as a part of SDK is not compatible with host Python3, therefore binding build breaks with following errors: scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory 154 | # include | ^~~~~~~~~~ Do not enforce the python3 from the PATH and make it conditionally-assigned so it can be overridden from outside of build system. Keep the default assignment to point to version that is taken from the PATH. Similar fix has been introduced in b48bfc74ee ("tools: allow to override python"), where conditional assignment is used for python executable to address similar build errors. Signed-off-by: Andrey Zhizhikin Cc: Simon Glass Fixes: e91610da7c ("kconfig: re-sync with Linux 4.17-rc4") Reviewed-by: Simon Glass --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 559594fe1d8..4dc33459894 100644 --- a/Makefile +++ b/Makefile @@ -408,7 +408,7 @@ AWK = awk PERL = perl PYTHON ?= python PYTHON2 = python2 -PYTHON3 = python3 +PYTHON3 ?= python3 DTC ?= $(objtree)/scripts/dtc/dtc CHECK = sparse -- cgit v1.2.3 From a7d03d5342bc0f5989cebf138fd566f97f555089 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 May 2021 19:32:23 -0600 Subject: 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(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 4dc33459894..3a6cd15460e 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 # -- cgit v1.2.3