在编译uboot 时 ,突然报错
scripts/kconfig/conf --syncconfig Kconfig
ln: failed to create symbolic link 'arch/arm64/include/asm/arch': No such file or directory
scripts/Makefile.autoconf:134: recipe for target 'create_symlink' failed
make[1]: *** [create_symlink] Error 1
make: *** No rule to make target 'GPL-2.0+', needed by 'e'. Stop.
看到还没有其他编译信息的内容,就去uboot 目录下的makefile 查看一下,
在第一行赫然有e SPDX-License-Identifier: GPL-2.0+
是将# SPDX-License-Identifier: GPL-2.0+ 误改了 ,make命令把e 作为target ,但是找不到依赖项GPL-2.0+ 报错了。
恢复后编译报错消失。
所以,如果Makefile出现:
make: *** No rule to make target `xxx ‘, needed by xxx. Stop.
的错误,那么基本上都是属于找不到所依赖的文件所导致的,所以应该去检查所依赖的文件,是否真实存在。