Chandan Uddaraju | a9b07bb | 2009-11-21 12:22:02 -0800 | [diff] [blame] | 1 | #Android makefile to build lk bootloader as a part of Android Build |
| 2 | |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 3 | ifeq ($(PRODUCT_IOT),true) |
| 4 | LK_PATH := hardware/bsp/bootloader/qcom/lk |
| 5 | CROOT_DIR := ../../../../.. |
| 6 | else |
| 7 | LK_PATH := bootable/bootloader/lk/ |
| 8 | CROOT_DIR := ../../.. |
| 9 | endif |
| 10 | |
Ajay Dudani | 0269560 | 2015-04-12 08:29:41 -0700 | [diff] [blame] | 11 | ifeq ($(BOOTLOADER_GCC_VERSION),) |
| 12 | ifndef $(2ND_TARGET_GCC_VERSION) |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 13 | CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin/arm-eabi- |
Shruthi Krishna | c91e1b8 | 2014-06-11 14:53:25 -0700 | [diff] [blame] | 14 | else |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 15 | CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/arm-eabi-$(2ND_TARGET_GCC_VERSION)/bin/arm-eabi- |
Shruthi Krishna | c91e1b8 | 2014-06-11 14:53:25 -0700 | [diff] [blame] | 16 | endif |
Ajay Dudani | 0269560 | 2015-04-12 08:29:41 -0700 | [diff] [blame] | 17 | else # BOOTLOADER_GCC_VERSION defined |
Swetha Vucha | b242821 | 2017-05-12 16:38:27 +0530 | [diff] [blame] | 18 | ifeq ($(BOOTLOADER_GCC_VERSION),arm-linux-androideabi-4.9) |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 19 | CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-linux-androideabi- |
Swetha Vucha | b242821 | 2017-05-12 16:38:27 +0530 | [diff] [blame] | 20 | else |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 21 | CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-eabi- |
Ajay Dudani | 0269560 | 2015-04-12 08:29:41 -0700 | [diff] [blame] | 22 | endif |
Swetha Vucha | b242821 | 2017-05-12 16:38:27 +0530 | [diff] [blame] | 23 | endif |
Channagoud Kadabi | 8dc5c3b | 2014-05-27 14:39:04 -0700 | [diff] [blame] | 24 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 25 | # Set flags if we need to include security libs |
Shashank Mittal | cd98d47 | 2011-08-02 14:29:24 -0700 | [diff] [blame] | 26 | ifeq ($(TARGET_BOOTIMG_SIGNED),true) |
| 27 | SIGNED_KERNEL := SIGNED_KERNEL=1 |
| 28 | else |
| 29 | SIGNED_KERNEL := SIGNED_KERNEL=0 |
| 30 | endif |
David Ng | 9055606 | 2010-12-20 18:36:33 -0800 | [diff] [blame] | 31 | |
Sridhar Parasuram | 5b0a024 | 2014-11-12 20:56:05 -0800 | [diff] [blame] | 32 | ifeq ($(BOOTLOADER_PLATFORM),) |
| 33 | BOOTLOADER_PLATFORM := $(TARGET_BOARD_PLATFORM) |
| 34 | endif |
| 35 | |
Shashank Mittal | e99a8d3 | 2014-09-11 19:51:06 -0700 | [diff] [blame] | 36 | ifeq ($(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_VERITY),true) |
| 37 | VERIFIED_BOOT := VERIFIED_BOOT=1 |
| 38 | else |
Unnati Gandhi | 87ce999 | 2015-03-30 16:34:48 +0530 | [diff] [blame] | 39 | VERIFIED_BOOT := VERIFIED_BOOT=0 |
Shashank Mittal | e99a8d3 | 2014-09-11 19:51:06 -0700 | [diff] [blame] | 40 | endif |
| 41 | |
Jiten Patel | dd9aaa0 | 2018-03-12 19:49:15 +0530 | [diff] [blame] | 42 | ifeq ($(TARGET_WEAR_SUPPORT_KM3),true) |
| 43 | QSEECOM_SECAPP_REGION_2MB := QSEECOM_SECAPP_REGION_2MB=1 |
| 44 | else |
| 45 | QSEECOM_SECAPP_REGION_2MB := QSEECOM_SECAPP_REGION_2MB=0 |
| 46 | endif |
| 47 | |
Monika Singh | ae7e964 | 2018-03-08 17:44:30 +0530 | [diff] [blame] | 48 | ifeq ($(BOARD_AVB_ENABLE),true) |
| 49 | VERIFIED_BOOT_2 := VERIFIED_BOOT_2=1 |
| 50 | else |
| 51 | VERIFIED_BOOT_2 := VERIFIED_BOOT_2=0 |
| 52 | endif |
| 53 | |
Jiten Patel | 3f6e701 | 2018-08-22 12:46:20 +0530 | [diff] [blame] | 54 | ifeq ($(BOARD_DTBO_NOT_SUPPORTED),true) |
| 55 | TARGET_DTBO_NOT_SUPPORTED := TARGET_DTBO_NOT_SUPPORTED=1 |
| 56 | else |
| 57 | TARGET_DTBO_NOT_SUPPORTED := TARGET_DTBO_NOT_SUPPORTED=0 |
| 58 | endif |
| 59 | |
Mayank Grover | 44180df | 2018-05-09 12:13:12 +0530 | [diff] [blame] | 60 | ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true) |
| 61 | TARGET_USE_SYSTEM_AS_ROOT_IMAGE := TARGET_USE_SYSTEM_AS_ROOT_IMAGE=1 |
| 62 | else |
| 63 | TARGET_USE_SYSTEM_AS_ROOT_IMAGE := TARGET_USE_SYSTEM_AS_ROOT_IMAGE=0 |
| 64 | endif |
| 65 | |
Kishor PK | 536904a | 2017-07-13 17:18:59 +0530 | [diff] [blame] | 66 | ifeq ($(EARLY_MOUNT_SUPPORT),true) |
| 67 | ENABLE_BOOTDEVICE_MOUNT := ENABLE_BOOTDEVICE_MOUNT=1 |
| 68 | else |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 69 | ENABLE_BOOTDEVICE_MOUNT := ENABLE_BOOTDEVICE_MOUNT=0 |
Kishor PK | 536904a | 2017-07-13 17:18:59 +0530 | [diff] [blame] | 70 | endif |
| 71 | |
Mayank Grover | 5fba496 | 2017-08-29 16:13:25 +0530 | [diff] [blame] | 72 | ifeq ($(BOARD_HAVE_PM660),true) |
Mayank Grover | 11cdd4b | 2017-07-20 12:11:18 +0530 | [diff] [blame] | 73 | ENABLE_BG_SUPPORT := ENABLE_BG_SUPPORT=1 |
| 74 | endif |
| 75 | |
Vladislav Levenetz | 1452844 | 2017-03-16 16:40:42 +0200 | [diff] [blame] | 76 | ifeq ($(BOOTLOADER_DISABLE_DISPLAY),true) |
| 77 | ENABLE_DISPLAY := ENABLE_DISPLAY=0 |
| 78 | else |
| 79 | ENABLE_DISPLAY := ENABLE_DISPLAY=1 |
| 80 | endif |
| 81 | |
lijuang | c43b2cb | 2017-12-07 14:45:23 +0800 | [diff] [blame] | 82 | ifeq ($(KASLRSEED_SUPPORT),true) |
| 83 | ENABLE_KASLRSEED := ENABLE_KASLRSEED=1 |
| 84 | else |
| 85 | ENABLE_KASLRSEED := ENABLE_KASLRSEED=0 |
| 86 | endif |
| 87 | |
Vijay Kumar Pendoti | 2f86905 | 2016-07-15 12:04:19 +0530 | [diff] [blame] | 88 | ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 24 ))" ))) |
| 89 | OSVERSION_IN_BOOTIMAGE := OSVERSION_IN_BOOTIMAGE=1 |
| 90 | ENABLE_VB_ATTEST := ENABLE_VB_ATTEST=1 |
| 91 | else |
| 92 | OSVERSION_IN_BOOTIMAGE := OSVERSION_IN_BOOTIMAGE=0 |
| 93 | ENABLE_VB_ATTEST := ENABLE_VB_ATTEST=0 |
| 94 | endif |
| 95 | |
Shashank Mittal | e99a8d3 | 2014-09-11 19:51:06 -0700 | [diff] [blame] | 96 | ifneq ($(TARGET_BUILD_VARIANT),user) |
| 97 | DEVICE_STATUS := DEFAULT_UNLOCK=true |
Channagoud Kadabi | 9071af3 | 2015-03-12 12:39:56 -0700 | [diff] [blame] | 98 | endif |
| 99 | |
| 100 | ifeq ($(TARGET_BUILD_VARIANT),user) |
| 101 | BUILD_VARIANT := USER_BUILD_VARIANT=true |
Shashank Mittal | e99a8d3 | 2014-09-11 19:51:06 -0700 | [diff] [blame] | 102 | endif |
| 103 | |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 104 | ifeq ($(TARGET_BOARD_PLATFORM),msm8x09) |
| 105 | BOOTLOADER_PLATFORM := msm8909 |
| 106 | endif |
| 107 | |
AUDITYA BHATTARAM | 68c18eb | 2013-11-26 02:19:21 +0530 | [diff] [blame] | 108 | ifeq ($(TARGET_BOARD_PLATFORM),msm8660) |
Channagoud Kadabi | 49c6696 | 2013-01-28 13:39:27 -0800 | [diff] [blame] | 109 | BOOTLOADER_PLATFORM := msm8660_surf |
David Ng | 7fbe5c3 | 2012-07-18 12:07:02 -0700 | [diff] [blame] | 110 | endif |
Channagoud Kadabi | 49c6696 | 2013-01-28 13:39:27 -0800 | [diff] [blame] | 111 | |
lijuang | 42d0ec4 | 2015-12-04 17:36:51 +0800 | [diff] [blame] | 112 | ifeq ($(TARGET_BOOTLOADER_BOARD_NAME),) |
| 113 | BOARD_NAME := BOARD_NAME=$(PRODUCT_NAME) |
| 114 | else |
| 115 | BOARD_NAME := BOARD_NAME=$(TARGET_BOOTLOADER_BOARD_NAME) |
| 116 | endif |
| 117 | |
Channagoud Kadabi | aeabd16 | 2014-02-28 19:13:14 -0800 | [diff] [blame] | 118 | ABOOT_OUT := $(TARGET_OUT_INTERMEDIATES)/ABOOT_OBJ |
| 119 | $(ABOOT_OUT): |
| 120 | $(hide) mkdir -p $(ABOOT_OUT) |
| 121 | |
| 122 | ABOOT_CLEAN: |
| 123 | $(hide) rm -f $(TARGET_ABOOT_ELF) |
| 124 | |
| 125 | # ELF binary for ABOOT |
| 126 | TARGET_ABOOT_ELF := $(PRODUCT_OUT)/aboot.elf |
| 127 | $(TARGET_ABOOT_ELF): ABOOT_CLEAN | $(ABOOT_OUT) |
Jiten Patel | 3f6e701 | 2018-08-22 12:46:20 +0530 | [diff] [blame] | 128 | $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(ABOOT_OUT) $(BOOTLOADER_PLATFORM) $(EMMC_BOOT) $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(VERIFIED_BOOT_2) $(TARGET_DTBO_NOT_SUPPORTED) $(ENABLE_DISPLAY) $(ENABLE_KASLRSEED) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE) $(QSEECOM_SECAPP_REGION_2MB) $(TARGET_USE_SYSTEM_AS_ROOT_IMAGE) |
Channagoud Kadabi | aeabd16 | 2014-02-28 19:13:14 -0800 | [diff] [blame] | 129 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 130 | # NAND variant output |
| 131 | TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn |
| 132 | NAND_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/NAND_BOOTLOADER_OBJ |
David Ng | 025c1d9 | 2009-12-09 23:46:00 -0800 | [diff] [blame] | 133 | |
Channagoud Kadabi | c52dc18 | 2011-12-14 00:08:48 +0530 | [diff] [blame] | 134 | # Remove bootloader binary to trigger recompile when source changes |
| 135 | appsbootldr_clean: |
| 136 | $(hide) rm -f $(TARGET_NAND_BOOTLOADER) |
| 137 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 138 | $(NAND_BOOTLOADER_OUT): |
| 139 | mkdir -p $(NAND_BOOTLOADER_OUT) |
David Ng | 025c1d9 | 2009-12-09 23:46:00 -0800 | [diff] [blame] | 140 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 141 | # eMMC variant output |
| 142 | TARGET_EMMC_BOOTLOADER := $(PRODUCT_OUT)/emmc_appsboot.mbn |
| 143 | EMMC_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/EMMC_BOOTLOADER_OBJ |
David Ng | 025c1d9 | 2009-12-09 23:46:00 -0800 | [diff] [blame] | 144 | |
Channagoud Kadabi | c52dc18 | 2011-12-14 00:08:48 +0530 | [diff] [blame] | 145 | emmc_appsbootldr_clean: |
| 146 | $(hide) rm -f $(TARGET_EMMC_BOOTLOADER) |
| 147 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 148 | $(EMMC_BOOTLOADER_OUT): |
| 149 | mkdir -p $(EMMC_BOOTLOADER_OUT) |
David Ng | 025c1d9 | 2009-12-09 23:46:00 -0800 | [diff] [blame] | 150 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 151 | # Top level for NAND variant targets |
Channagoud Kadabi | c52dc18 | 2011-12-14 00:08:48 +0530 | [diff] [blame] | 152 | $(TARGET_NAND_BOOTLOADER): appsbootldr_clean | $(NAND_BOOTLOADER_OUT) |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 153 | $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(NAND_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) $(SIGNED_KERNEL) $(BOARD_NAME) |
David Ng | 025c1d9 | 2009-12-09 23:46:00 -0800 | [diff] [blame] | 154 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 155 | # Top level for eMMC variant targets |
Shashank Mittal | e99a8d3 | 2014-09-11 19:51:06 -0700 | [diff] [blame] | 156 | $(TARGET_EMMC_BOOTLOADER): emmc_appsbootldr_clean | $(EMMC_BOOTLOADER_OUT) $(INSTALLED_KEYSTOREIMAGE_TARGET) |
Jiten Patel | 3f6e701 | 2018-08-22 12:46:20 +0530 | [diff] [blame] | 157 | $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(VERIFIED_BOOT_2) $(TARGET_DTBO_NOT_SUPPORTED) $(ENABLE_DISPLAY) $(ENABLE_KASLRSEED) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE) $(ENABLE_BG_SUPPORT) $(QSEECOM_SECAPP_REGION_2MB) $(TARGET_USE_SYSTEM_AS_ROOT_IMAGE) |
Chandan Uddaraju | a9b07bb | 2009-11-21 12:22:02 -0800 | [diff] [blame] | 158 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 159 | # Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER |
| 160 | TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN |
| 161 | $(TARGET_BOOTLOADER): $(NAND_BOOTLOADER_OUT) $(EMMC_BOOTLOADER_OUT) | $(TARGET_NAND_BOOTLOADER) $(TARGET_EMMC_BOOTLOADER) |
Ajay Dudani | 168f6cb | 2009-12-07 19:04:02 -0800 | [diff] [blame] | 162 | |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 163 | # |
| 164 | # Build nandwrite as a part of Android Build for NAND configurations |
| 165 | # |
David Ng | 7fbe5c3 | 2012-07-18 12:07:02 -0700 | [diff] [blame] | 166 | TARGET_NANDWRITE := $(PRODUCT_OUT)/obj/nandwrite/build-$(BOOTLOADER_PLATFORM)_nandwrite/lk |
Ajay Dudani | 7e5a630 | 2011-11-24 12:23:49 -0800 | [diff] [blame] | 167 | NANDWRITE_OUT := $(TARGET_OUT_INTERMEDIATES)/nandwrite |
Ajay Dudani | 168f6cb | 2009-12-07 19:04:02 -0800 | [diff] [blame] | 168 | |
David Ng | 17fdc97 | 2009-12-10 11:01:43 -0800 | [diff] [blame] | 169 | nandwrite_clean: |
| 170 | $(hide) rm -f $(TARGET_NANDWRITE) |
| 171 | $(hide) rm -rf $(NANDWRITE_OUT) |
Ajay Dudani | 168f6cb | 2009-12-07 19:04:02 -0800 | [diff] [blame] | 172 | |
David Ng | 17fdc97 | 2009-12-10 11:01:43 -0800 | [diff] [blame] | 173 | $(NANDWRITE_OUT): |
| 174 | mkdir -p $(NANDWRITE_OUT) |
| 175 | |
Anshul Gupta | 0fd98fd | 2011-10-20 20:48:55 +0530 | [diff] [blame] | 176 | $(TARGET_NANDWRITE): nandwrite_clean | $(NANDWRITE_OUT) |
David Ng | 7fbe5c3 | 2012-07-18 12:07:02 -0700 | [diff] [blame] | 177 | @echo $(BOOTLOADER_PLATFORM)_nandwrite |
Mayank Grover | 5051794 | 2017-07-31 13:27:30 +0530 | [diff] [blame] | 178 | $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(NANDWRITE_OUT) $(BOOTLOADER_PLATFORM)_nandwrite BUILD_NANDWRITE=1 |