blob: 1db871af1b3710562a18fbc5f7c2ecc6758e3963 [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 Dudanif400e5d2015-04-12 08:29:41 -07003ifeq ($(BOOTLOADER_GCC_VERSION),)
4ifndef $(2ND_TARGET_GCC_VERSION)
Channagoud Kadabi34fe5502014-05-27 14:39:04 -07005CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin/arm-eabi-
Ajay Dudanif400e5d2015-04-12 08:29:41 -07006else
7CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/arm-eabi-$(2ND_TARGET_GCC_VERSION)/bin/arm-eabi-
8endif
9else # BOOTLOADER_GCC_VERSION defined
10CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-eabi-
11endif
Channagoud Kadabi34fe5502014-05-27 14:39:04 -070012
Ajay Dudani7e5a6302011-11-24 12:23:49 -080013# Set flags if we need to include security libs
Shashank Mittalcd98d472011-08-02 14:29:24 -070014ifeq ($(TARGET_BOOTIMG_SIGNED),true)
15 SIGNED_KERNEL := SIGNED_KERNEL=1
16else
17 SIGNED_KERNEL := SIGNED_KERNEL=0
18endif
David Ng90556062010-12-20 18:36:33 -080019
Channagoud Kadabi49c66962013-01-28 13:39:27 -080020ifeq ($(call is-board-platform,msm8660),true)
21 BOOTLOADER_PLATFORM := msm8660_surf
David Ng7fbe5c32012-07-18 12:07:02 -070022else
Channagoud Kadabi49c66962013-01-28 13:39:27 -080023 BOOTLOADER_PLATFORM := $(TARGET_BOARD_PLATFORM)
David Ng7fbe5c32012-07-18 12:07:02 -070024endif
Channagoud Kadabi49c66962013-01-28 13:39:27 -080025
Ajay Dudani7e5a6302011-11-24 12:23:49 -080026# NAND variant output
27TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn
28NAND_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/NAND_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080029
Channagoud Kadabic52dc182011-12-14 00:08:48 +053030# Remove bootloader binary to trigger recompile when source changes
31appsbootldr_clean:
32 $(hide) rm -f $(TARGET_NAND_BOOTLOADER)
33
Ajay Dudani7e5a6302011-11-24 12:23:49 -080034$(NAND_BOOTLOADER_OUT):
35 mkdir -p $(NAND_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080036
Ajay Dudani7e5a6302011-11-24 12:23:49 -080037# eMMC variant output
38TARGET_EMMC_BOOTLOADER := $(PRODUCT_OUT)/emmc_appsboot.mbn
39EMMC_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/EMMC_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080040
Channagoud Kadabic52dc182011-12-14 00:08:48 +053041emmc_appsbootldr_clean:
42 $(hide) rm -f $(TARGET_EMMC_BOOTLOADER)
43
Ajay Dudani7e5a6302011-11-24 12:23:49 -080044$(EMMC_BOOTLOADER_OUT):
45 mkdir -p $(EMMC_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080046
Ajay Dudani7e5a6302011-11-24 12:23:49 -080047# Top level for NAND variant targets
Channagoud Kadabic52dc182011-12-14 00:08:48 +053048$(TARGET_NAND_BOOTLOADER): appsbootldr_clean | $(NAND_BOOTLOADER_OUT)
Channagoud Kadabi34fe5502014-05-27 14:39:04 -070049 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(NAND_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) $(SIGNED_KERNEL)
David Ng025c1d92009-12-09 23:46:00 -080050
Ajay Dudani7e5a6302011-11-24 12:23:49 -080051# Top level for eMMC variant targets
Channagoud Kadabic52dc182011-12-14 00:08:48 +053052$(TARGET_EMMC_BOOTLOADER): emmc_appsbootldr_clean | $(EMMC_BOOTLOADER_OUT)
Channagoud Kadabi34fe5502014-05-27 14:39:04 -070053 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL)
Chandan Uddarajua9b07bb2009-11-21 12:22:02 -080054
Ajay Dudani7e5a6302011-11-24 12:23:49 -080055# Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER
56TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN
57$(TARGET_BOOTLOADER): $(NAND_BOOTLOADER_OUT) $(EMMC_BOOTLOADER_OUT) | $(TARGET_NAND_BOOTLOADER) $(TARGET_EMMC_BOOTLOADER)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080058
Ajay Dudani7e5a6302011-11-24 12:23:49 -080059#
60# Build nandwrite as a part of Android Build for NAND configurations
61#
David Ng7fbe5c32012-07-18 12:07:02 -070062TARGET_NANDWRITE := $(PRODUCT_OUT)/obj/nandwrite/build-$(BOOTLOADER_PLATFORM)_nandwrite/lk
Ajay Dudani7e5a6302011-11-24 12:23:49 -080063NANDWRITE_OUT := $(TARGET_OUT_INTERMEDIATES)/nandwrite
Ajay Dudani168f6cb2009-12-07 19:04:02 -080064
David Ng17fdc972009-12-10 11:01:43 -080065nandwrite_clean:
66 $(hide) rm -f $(TARGET_NANDWRITE)
67 $(hide) rm -rf $(NANDWRITE_OUT)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080068
David Ng17fdc972009-12-10 11:01:43 -080069$(NANDWRITE_OUT):
70 mkdir -p $(NANDWRITE_OUT)
71
Anshul Gupta0fd98fd2011-10-20 20:48:55 +053072$(TARGET_NANDWRITE): nandwrite_clean | $(NANDWRITE_OUT)
David Ng7fbe5c32012-07-18 12:07:02 -070073 @echo $(BOOTLOADER_PLATFORM)_nandwrite
Channagoud Kadabi34fe5502014-05-27 14:39:04 -070074 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(NANDWRITE_OUT) $(BOOTLOADER_PLATFORM)_nandwrite BUILD_NANDWRITE=1