blob: 9a058c7f389088674bf025d0f100b38b496996c6 [file] [log] [blame]
Chandan Uddarajua9b07bb2009-11-21 12:22:02 -08001#Android makefile to build lk bootloader as a part of Android Build
2
Satya Durga Srinivasu Prabhalad92dc602011-07-21 16:39:52 +05303ifeq ($(call is-android-codename,HONEYCOMB),true)
Ajay Dudani91b04272011-03-09 09:49:29 -08004CROSS_TOOL := ../../../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
Ajay Dudanid1a095a2011-11-14 22:01:16 -08005else ifeq ($(call is-android-codename,ICECREAM_SANDWICH),true)
6CROSS_TOOL := ../../../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
Ajay Dudani91b04272011-03-09 09:49:29 -08007else
David Ng90556062010-12-20 18:36:33 -08008CROSS_TOOL := ../../../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
Ajay Dudani91b04272011-03-09 09:49:29 -08009endif
David Ng90556062010-12-20 18:36:33 -080010
Ajay Dudani7e5a6302011-11-24 12:23:49 -080011# Set flags if we need to include security libs
Shashank Mittalcd98d472011-08-02 14:29:24 -070012ifeq ($(TARGET_BOOTIMG_SIGNED),true)
13 SIGNED_KERNEL := SIGNED_KERNEL=1
14else
15 SIGNED_KERNEL := SIGNED_KERNEL=0
16endif
David Ng90556062010-12-20 18:36:33 -080017
Ajay Dudani7e5a6302011-11-24 12:23:49 -080018# NAND variant output
19TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn
20NAND_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/NAND_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080021
Ajay Dudani7e5a6302011-11-24 12:23:49 -080022$(NAND_BOOTLOADER_OUT):
23 mkdir -p $(NAND_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080024
Ajay Dudani7e5a6302011-11-24 12:23:49 -080025# eMMC variant output
26TARGET_EMMC_BOOTLOADER := $(PRODUCT_OUT)/emmc_appsboot.mbn
27EMMC_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/EMMC_BOOTLOADER_OBJ
David Ng025c1d92009-12-09 23:46:00 -080028
Ajay Dudani7e5a6302011-11-24 12:23:49 -080029$(EMMC_BOOTLOADER_OUT):
30 mkdir -p $(EMMC_BOOTLOADER_OUT)
David Ng025c1d92009-12-09 23:46:00 -080031
Ajay Dudani7e5a6302011-11-24 12:23:49 -080032# Top level for NAND variant targets
33$(TARGET_NAND_BOOTLOADER): $(NAND_BOOTLOADER_OUT)
34 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_TOOL) BOOTLOADER_OUT=../../../$(NAND_BOOTLOADER_OUT) $(TARGET_PRODUCT) $(SIGNED_KERNEL)
David Ng025c1d92009-12-09 23:46:00 -080035
Ajay Dudani7e5a6302011-11-24 12:23:49 -080036# Top level for eMMC variant targets
37$(TARGET_EMMC_BOOTLOADER): $(EMMC_BOOTLOADER_OUT)
38 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_TOOL) BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(TARGET_PRODUCT) EMMC_BOOT=1 $(SIGNED_KERNEL)
Chandan Uddarajua9b07bb2009-11-21 12:22:02 -080039
Ajay Dudani7e5a6302011-11-24 12:23:49 -080040# Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER
41TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN
42$(TARGET_BOOTLOADER): $(NAND_BOOTLOADER_OUT) $(EMMC_BOOTLOADER_OUT) | $(TARGET_NAND_BOOTLOADER) $(TARGET_EMMC_BOOTLOADER)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080043
Ajay Dudani7e5a6302011-11-24 12:23:49 -080044#
45# Build nandwrite as a part of Android Build for NAND configurations
46#
Ajay Dudani168f6cb2009-12-07 19:04:02 -080047TARGET_NANDWRITE := $(PRODUCT_OUT)/obj/nandwrite/build-$(TARGET_PRODUCT)_nandwrite/lk
Ajay Dudani7e5a6302011-11-24 12:23:49 -080048NANDWRITE_OUT := $(TARGET_OUT_INTERMEDIATES)/nandwrite
Ajay Dudani168f6cb2009-12-07 19:04:02 -080049
David Ng17fdc972009-12-10 11:01:43 -080050nandwrite_clean:
51 $(hide) rm -f $(TARGET_NANDWRITE)
52 $(hide) rm -rf $(NANDWRITE_OUT)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080053
David Ng17fdc972009-12-10 11:01:43 -080054$(NANDWRITE_OUT):
55 mkdir -p $(NANDWRITE_OUT)
56
Anshul Gupta0fd98fd2011-10-20 20:48:55 +053057$(TARGET_NANDWRITE): nandwrite_clean | $(NANDWRITE_OUT)
Ajay Dudani168f6cb2009-12-07 19:04:02 -080058 @echo $(TARGET_PRODUCT)_nandwrite
David Ng90556062010-12-20 18:36:33 -080059 $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_TOOL) BOOTLOADER_OUT=../../../$(NANDWRITE_OUT) $(TARGET_PRODUCT)_nandwrite BUILD_NANDWRITE=1