summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlistair Strachan <astrachan@google.com>2018-09-27 15:00:47 -0700
committerAlistair Strachan <astrachan@google.com>2018-09-27 15:00:49 -0700
commit2e0876f56d5f1828732002da289f8580e6fc0edb (patch)
treef2660b9b4567f77a1a814764b0dab47fe18a4486
parent240b7107c506dc7bb210ff2667dcd6fd962f3bb2 (diff)
downloadbeagle-x15-2e0876f56d5f1828732002da289f8580e6fc0edb.tar.gz
Fix BOOTIMG_FIT for new AOSP restrictions
Make the BOOTIMG_FIT target work correctly with current AOSP. The current AOSP build system blocks the use of mkimage because it calls out to 'dtc', which may not have been build as a host tool, and uses the host system's copy, which is no longer allowed. This change makes sure the dependencies are property specified for 'dtc' and ensures PATH is set correctly for the invocation by mkimage. Test: local build for beagle_x15 lunch target Change-Id: Ie1e7df43b96054f736cd0ce194220078dda74ef0 Signed-off-by: Alistair Strachan <astrachan@google.com>
-rw-r--r--boot_fit/Android.mk22
1 files changed, 13 insertions, 9 deletions
diff --git a/boot_fit/Android.mk b/boot_fit/Android.mk
index c0f0306..2cf6ef0 100644
--- a/boot_fit/Android.mk
+++ b/boot_fit/Android.mk
@@ -2,19 +2,23 @@ ifneq ($(filter beagle_x15%, $(TARGET_DEVICE)),)
ifeq ($(TARGET_BOOTIMAGE_FIT), true)
MKIMAGE := $(HOST_OUT_EXECUTABLES)/mkimage
-DTC_FLAGS_MKIMAGE = -I dts -O dtb -p 500 -Wno-unit_address_vs_reg
+DTC := $(HOST_OUT_EXECUTABLES)/dtc
BOARD_DIR := device/ti/beagle_x15
-FIT_DIR := $(PRODUCT_OUT)/obj/fit
ITS := beagle_x15.its
BOOTIMG_FIT := $(PRODUCT_OUT)/boot_fit.img
-$(BOOTIMG_FIT): $(INSTALLED_KERNEL_TARGET) $(INSTALLED_RAMDISK_TARGET) $(BOARD_DIR)/$(ITS) $(MKIMAGE)
- mkdir -p $(FIT_DIR)
- cp $(BOARD_DIR)/$(ITS) $(FIT_DIR)
- cp $(INSTALLED_RAMDISK_TARGET) $(FIT_DIR)
- cp $(INSTALLED_KERNEL_TARGET) $(FIT_DIR)/zImage
- cp $(LOCAL_KERNEL)/*.dtb $(FIT_DIR)
- $(MKIMAGE) -D "$(DTC_FLAGS_MKIMAGE)" -f $(FIT_DIR)/$(ITS) $@
+$(BOOTIMG_FIT): PRIVATE_DTC_FLAGS_MKIMAGE = -I dts -O dtb -p 500 -Wno-unit_address_vs_reg
+$(BOOTIMG_FIT): PRIVATE_INTERMEDIATES := $(call intermediates-dir-for,PACKAGING,fit)
+$(BOOTIMG_FIT): PRIVATE_ITS := $(ITS)
+$(BOOTIMG_FIT): PRIVATE_MKIMAGE := $(MKIMAGE)
+$(BOOTIMG_FIT): PRIVATE_BOARD_DIR := $(BOARD_DIR)
+$(BOOTIMG_FIT): $(INSTALLED_KERNEL_TARGET) $(INSTALLED_RAMDISK_TARGET) $(BOARD_DIR)/$(ITS) $(MKIMAGE) $(DTC) $(wildcard $(LOCAL_KERNEL)/*.dtb)
+ mkdir -p $(PRIVATE_INTERMEDIATES)
+ cp $(PRIVATE_BOARD_DIR)/$(PRIVATE_ITS) $(PRIVATE_INTERMEDIATES)/
+ cp $(INSTALLED_RAMDISK_TARGET) $(PRIVATE_INTERMEDIATES)/
+ cp $(INSTALLED_KERNEL_TARGET) $(PRIVATE_INTERMEDIATES)/zImage
+ cp $(LOCAL_KERNEL)/*.dtb $(PRIVATE_INTERMEDIATES)/
+ PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(PRIVATE_MKIMAGE) -D "$(PRIVATE_DTC_FLAGS_MKIMAGE)" -f $(PRIVATE_INTERMEDIATES)/$(PRIVATE_ITS) $@
include $(CLEAR_VARS)
LOCAL_MODULE := bootfitimage