blob: b3dbf12cab79cd8c7d55ad6144c20ab683205828 [file] [log] [blame]
Chandan Uddarajua9b07bb2009-11-21 12:22:02 -08001#Android makefile to build lk bootloader as a part of Android Build
2
Ajay Dudani7e5a6302011-11-24 12:23:49 -08003# Set flags if we need to include security libs
Shashank Mittalcd98d472011-08-02 14:29:24 -07004ifeq ($(TARGET_BOOTIMG_SIGNED),true)
5 SIGNED_KERNEL := SIGNED_KERNEL=1
6else
7 SIGNED_KERNEL := SIGNED_KERNEL=0
8endif
David Ng90556062010-12-20 18:36:33 -08009
AUDITYA BHATTARAM68c18eb2013-11-26 02:19:21 +053010ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
Channagoud Kadabi49c66962013-01-28 13:39:27 -080011 BOOTLOADER_PLATFORM := msm8660_surf
David Ng7fbe5c32012-07-18 12:07:02 -070012else
Channagoud Kadabi49c66962013-01-28 13:39:27 -080013 BOOTLOADER_PLATFORM := $(TARGET_BOARD_PLATFORM)
David Ng7fbe5c32012-07-18 12:07:02 -070014endif
Channagoud Kadabi49c66962013-01-28 13:39:27 -080015
Channagoud Kadabiaeabd162014-02-28 19:13:14 -080016ABOOT_OUT := $(TARGET_OUT_INTERMEDIATES)/ABOOT_OBJ
17$(ABOOT_OUT):
18 $(hide) mkdir -p $(ABOOT_OUT)
19
20ABOOT_CLEAN:
21 $(hide) rm -f $(TARGET_ABOOT_ELF)
22
23# ELF binary for ABOOT
24TARGET_ABOOT_ELF := $(PRODUCT_OUT)/aboot.elf
25$(TARGET_ABOOT_ELF): ABOOT_CLEAN | $(ABOOT_OUT)
26 $(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(ABOOT_OUT) $(BOOTLOADER_PLATFORM) $(EMMC_BOOT) $(SIGNED_KERNEL)
27
Ajay Dudani7e5a6302011-11-24 12:23:49 -080028# NAND variant output
29TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn
30NAND_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/NAND_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080031
Channagoud Kadabic52dc182011-12-14 00:08:48 +053032# Remove bootloader binary to trigger recompile when source changes
33appsbootldr_clean:
34 $(hide) rm -f $(TARGET_NAND_BOOTLOADER)
35
Ajay Dudani7e5a6302011-11-24 12:23:49 -080036$(NAND_BOOTLOADER_OUT):
37 mkdir -p $(NAND_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080038
Ajay Dudani7e5a6302011-11-24 12:23:49 -080039# eMMC variant output
40TARGET_EMMC_BOOTLOADER := $(PRODUCT_OUT)/emmc_appsboot.mbn
41EMMC_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/EMMC_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080042
Channagoud Kadabic52dc182011-12-14 00:08:48 +053043emmc_appsbootldr_clean:
44 $(hide) rm -f $(TARGET_EMMC_BOOTLOADER)
45
Ajay Dudani7e5a6302011-11-24 12:23:49 -080046$(EMMC_BOOTLOADER_OUT):
47 mkdir -p $(EMMC_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080048
Ajay Dudani7e5a6302011-11-24 12:23:49 -080049# Top level for NAND variant targets
Channagoud Kadabic52dc182011-12-14 00:08:48 +053050$(TARGET_NAND_BOOTLOADER): appsbootldr_clean | $(NAND_BOOTLOADER_OUT)
David Ng7fbe5c32012-07-18 12:07:02 -070051 $(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(NAND_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) $(SIGNED_KERNEL)
David Ng025c1d92009-12-09 23:46:00 -080052
Ajay Dudani7e5a6302011-11-24 12:23:49 -080053# Top level for eMMC variant targets
Channagoud Kadabic52dc182011-12-14 00:08:48 +053054$(TARGET_EMMC_BOOTLOADER): emmc_appsbootldr_clean | $(EMMC_BOOTLOADER_OUT)
David Ng7fbe5c32012-07-18 12:07:02 -070055 $(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL)
Chandan Uddarajua9b07bb2009-11-21 12:22:02 -080056
Ajay Dudani7e5a6302011-11-24 12:23:49 -080057# Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER
58TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN
59$(TARGET_BOOTLOADER): $(NAND_BOOTLOADER_OUT) $(EMMC_BOOTLOADER_OUT) | $(TARGET_NAND_BOOTLOADER) $(TARGET_EMMC_BOOTLOADER)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080060
Ajay Dudani7e5a6302011-11-24 12:23:49 -080061#
62# Build nandwrite as a part of Android Build for NAND configurations
63#
David Ng7fbe5c32012-07-18 12:07:02 -070064TARGET_NANDWRITE := $(PRODUCT_OUT)/obj/nandwrite/build-$(BOOTLOADER_PLATFORM)_nandwrite/lk
Ajay Dudani7e5a6302011-11-24 12:23:49 -080065NANDWRITE_OUT := $(TARGET_OUT_INTERMEDIATES)/nandwrite
Ajay Dudani168f6cb2009-12-07 19:04:02 -080066
David Ng17fdc972009-12-10 11:01:43 -080067nandwrite_clean:
68 $(hide) rm -f $(TARGET_NANDWRITE)
69 $(hide) rm -rf $(NANDWRITE_OUT)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080070
David Ng17fdc972009-12-10 11:01:43 -080071$(NANDWRITE_OUT):
72 mkdir -p $(NANDWRITE_OUT)
73
Anshul Gupta0fd98fd2011-10-20 20:48:55 +053074$(TARGET_NANDWRITE): nandwrite_clean | $(NANDWRITE_OUT)
David Ng7fbe5c32012-07-18 12:07:02 -070075 @echo $(BOOTLOADER_PLATFORM)_nandwrite
76 $(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(NANDWRITE_OUT) $(BOOTLOADER_PLATFORM)_nandwrite BUILD_NANDWRITE=1