aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHridya Valsaraju <hridya@google.com>2019-05-20 11:10:24 -0700
committerHridya Valsaraju <hridya@google.com>2019-05-22 15:55:47 -0700
commit5b8f78fbe88bc5a97a64cfc513f67501ebde3e80 (patch)
treedf17db99a87ffbedafe54ccb20f65a2bfde9f5e1
parentf52dbb81fe50cc0821045bb3160fa4b80e885b69 (diff)
downloadbuild-5b8f78fbe88bc5a97a64cfc513f67501ebde3e80.tar.gz
Allow for the DTB image to be built by the Android build system.
The current solution expects BOARD_PREBUILT_DTBIMAGE_DIR to contain prebuilt DTB files that are concatenated by the build system to create $OUT/dtb.img. In order to accommodate devices that build the dtb image locally, when BOARD_PREBUILT_DTBIMAGE_DIR is undefined, make boot.img creation depend only on $OUT/dtb.img. Bug: 133161451 Test: Build with BOARD_PREBUILT_DTBIMAGE_DIR undefined and verify using unpack_bootimg.py that $OUT/dtb.img was included in boot.img. Change-Id: Iae2c634ccdc1d83589b26d382882f75fb8565a31 Merged-In: Iae2c634ccdc1d83589b26d382882f75fb8565a31
-rw-r--r--core/Makefile8
-rw-r--r--core/board_config.mk6
2 files changed, 11 insertions, 3 deletions
diff --git a/core/Makefile b/core/Makefile
index 8423a50786..3d5feba14d 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -862,12 +862,13 @@ $(call dist-for-goals, sdk win_sdk sdk_addon, $(INSTALLED_FILES_FILE_ROOT))
#------------------------------------------------------------------
# dtb
-
-ifdef BOARD_PREBUILT_DTBIMAGE_DIR
+ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG
INSTALLED_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb.img
+ifdef BOARD_PREBUILT_DTBIMAGE_DIR
$(INSTALLED_DTBIMAGE_TARGET) : $(sort $(wildcard $(BOARD_PREBUILT_DTBIMAGE_DIR)/*.dtb))
cat $^ > $@
endif
+endif
# -----------------------------------------------------------------
# the ramdisk
@@ -3791,6 +3792,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \
$(INTERNAL_SYSTEMOTHERIMAGE_FILES) \
$(INSTALLED_ANDROID_INFO_TXT_TARGET) \
$(INSTALLED_KERNEL_TARGET) \
+ $(INSTALLED_DTBIMAGE_TARGET) \
$(INSTALLED_2NDBOOTLOADER_TARGET) \
$(BOARD_PREBUILT_DTBOIMAGE) \
$(BOARD_PREBUILT_RECOVERY_DTBOIMAGE) \
@@ -3843,7 +3845,7 @@ endif
ifdef BOARD_INCLUDE_RECOVERY_ACPIO
$(hide) cp $(BOARD_RECOVERY_ACPIO) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/recovery_acpio
endif
-ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG
+ifdef INSTALLED_DTBIMAGE_TARGET
$(hide) cp $(INSTALLED_DTBIMAGE_TARGET) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/dtb
endif
ifdef INTERNAL_KERNEL_CMDLINE
diff --git a/core/board_config.mk b/core/board_config.mk
index aa626e374c..d0f0ccfc0d 100644
--- a/core/board_config.mk
+++ b/core/board_config.mk
@@ -482,6 +482,12 @@ ifeq ($(AB_OTA_UPDATER),true)
endif
endif
+ifdef BOARD_PREBUILT_DTBIMAGE_DIR
+ ifneq ($(BOARD_INCLUDE_DTB_IN_BOOTIMG),true)
+ $(error BOARD_PREBUILT_DTBIMAGE_DIR with 'BOARD_INCLUDE_DTB_IN_BOOTIMG != true' is not supported)
+ endif
+endif
+
# Check BOARD_VNDK_VERSION
define check_vndk_version
$(eval vndk_path := prebuilts/vndk/v$(1)) \