1

我正在尝试构建 android R,但在内核 makefile kernel/exynos/AndroidKernel.mk:155 中出现以下错误:错误:写入只读目录:“/data/home/sumkumar/work/workspace/R/out/. ./out/target/product/**/obj/KERNEL_OBJ/arch/arm64/boot/Image” 这是在 Android Q 中通过使用标志“BUILD_BROKEN_PHONY_TARGETS=true”处理的,但在 R 中这是贬值的,因此不能使用相同的。

查看以下链接后,从 google 为 android R https://android.googlesource.com/platform/build/+/master/Changes.md#phony_targets更改虚假规则

我已通过删除错误路径中的“../”并过去之前的错误,如下更新了我的 Makefile,#KERNEL_OUT ?= $(if $(filter /% ~%,$(TARGET_OUT_INTERMEDIATES)),,$(realpath $(OUT_DIR))/../)$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ KERNEL_OUT ?= $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ

但现在我收到错误重建错误,如下所述 kernel/exynos/AndroidKernel.mk:139:错误:真实文件“out/target/product/**/obj/KERNEL_OBJ/.config”取决于 PHONY 目标“假-rebuild" 14:21:04 ckati 失败:退出状态 1

我理解为虚假目标总是很脏,因此每个文件都将被重建,这取决于该虚假,但在我的情况下,这种重建是必需的。附上描述相同文件的快照

KERNEL_CONFIG := $(KERNEL_OUT)/.config

KERNEL_CONFIG := $(KERNEL_OUT)/.config

.PHONY:假重建

$(KERNEL_CONFIG): 假重建

  $(show) echo "make $(KERNEL_DEFCONFIG)"

  $(MAKE_CONFIG_CMD)

  $(info  MAKE_CONFIG_CMD is $(MAKE_CONFIG_CMD)) 

请让我知道是否有任何方法可以避免使用 phony-rebuild 并用替代机制替换它。

问候,

4

0 回答 0