lk: Add generic trigger support for eMMC boot

For targets that support eMMC bootup, defining
TARGET_USERIMAGES_USE_EXT2 will cause an eMMC apps
bootloader to be generated along with the NAND flash
apps bootloader.
diff --git a/AndroidBoot.mk b/AndroidBoot.mk
index 948deb6..6500f49 100644
--- a/AndroidBoot.mk
+++ b/AndroidBoot.mk
@@ -11,9 +11,28 @@
 $(BOOTLOADER_OUT):
 	mkdir -p $(BOOTLOADER_OUT)
 
+
+ifeq ($(TARGET_USERIMAGES_USE_EXT2),true)
+TARGET_BOOTLOADER_EMMC := out/target/product/$(TARGET_PRODUCT)/emmc_appsboot.mbn
+BOOTLOADER_EMMC_OUT := $(TOP)/$(TARGET_OUT_INTERMEDIATES)/BOOTLOADER_EMMC_OBJ
+
+emmc_appsbootldr_clean:
+	$(hide) rm -f $(TARGET_BOOTLOADER_EMMC)
+	$(hide) rm -rf $(BOOTLOADER_EMMC_OUT)
+
+$(BOOTLOADER_EMMC_OUT):
+	mkdir -p $(BOOTLOADER_EMMC_OUT)
+
+$(TARGET_BOOTLOADER): $(BOOTLOADER_OUT) appsbootldr_clean emmc_appsbootldr_clean
+	$(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(BOOTLOADER_OUT) $(TARGET_PRODUCT)
+	$(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(BOOTLOADER_EMMC_OUT) $(TARGET_PRODUCT) EMMC_BOOT=1
+
+else
+
 $(TARGET_BOOTLOADER): $(BOOTLOADER_OUT) appsbootldr_clean
 	$(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(BOOTLOADER_OUT) $(TARGET_PRODUCT)
 
+endif
 
 #build nandwrite as a part of Android Build
 TARGET_NANDWRITE := $(PRODUCT_OUT)/obj/nandwrite/build-$(TARGET_PRODUCT)_nandwrite/lk
diff --git a/makefile b/makefile
index 5773c58..7ea95ad 100644
--- a/makefile
+++ b/makefile
@@ -37,6 +37,9 @@
 INCLUDES := -I$(BUILDDIR) -Iinclude
 CFLAGS := -O2 -g -fno-builtin -finline -W -Wall -Wno-multichar -Wno-unused-parameter -Wno-unused-function -include $(CONFIGHEADER)
 #CFLAGS += -Werror
+ifeq ($(EMMC_BOOT),1)
+  CFLAGS += -D_EMMC_BOOT=1
+endif
 CPPFLAGS := -fno-exceptions -fno-rtti -fno-threadsafe-statics
 #CPPFLAGS += -Weffc++
 ASMFLAGS := -DASSEMBLY
diff --git a/target/init.c b/target/init.c
index b49cbef..156284d 100644
--- a/target/init.c
+++ b/target/init.c
@@ -40,5 +40,9 @@
 
 __WEAK int target_is_emmc_boot(void)
 {
+#if _EMMC_BOOT
+    return 1;
+#else
     return 0;
+#endif
 }