diff options
author | Steve Kondik <shade@chemlab.org> | 2013-10-19 19:49:20 -0700 |
---|---|---|
committer | Tom Marshall <tdm@cyngn.com> | 2015-11-20 15:46:34 -0800 |
commit | f30dd3d81206fcfcce0404436fa55c997d03924e (patch) | |
tree | 1b9721c8724d6c7c09f523a1c58c155419e712e3 /Android.mk | |
parent | 7e9b637c45449d2d4607c9f5ba681deb39c5b230 (diff) | |
download | bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.zip bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.tar.gz bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.tar.bz2 |
sr: Get a proper shell environment in recovery
* Secure ADB support
* Toybox applets
* mksh
* Various other tools
Change-Id: I80b0e2aa5eb7142eaa9f157709f4e029077d8dfa
Diffstat (limited to 'Android.mk')
-rw-r--r-- | Android.mk | 95 |
1 files changed, 91 insertions, 4 deletions
@@ -1,4 +1,5 @@ # Copyright (C) 2007 The Android Open Source Project +# Copyright (C) 2015 The CyanogenMod Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -44,13 +45,17 @@ LOCAL_SRC_FILES := \ verifier.cpp \ wear_ui.cpp \ +# External tools +LOCAL_SRC_FILES += \ + ../../system/core/toolbox/newfs_msdos.c \ + ../../system/core/toolbox/start.c \ + ../../system/core/toolbox/stop.c + LOCAL_MODULE := recovery LOCAL_FORCE_STATIC_EXECUTABLE := true -ifeq ($(HOST_OS),linux) LOCAL_REQUIRED_MODULES := mkfs.f2fs -endif RECOVERY_API_VERSION := 3 RECOVERY_FSTAB_VERSION := 2 @@ -65,12 +70,19 @@ LOCAL_C_INCLUDES += \ LOCAL_STATIC_LIBRARIES := \ libext4_utils_static \ + libmake_ext4fs_static \ + libminizip_static \ libsparse_static \ + libfsck_msdos \ + libminipigz \ + libreboot_static \ libminzip \ libz \ libmtdutils \ libmincrypt \ libminadbd \ + libtoybox_driver \ + libmksh_static \ libfusesideload \ libminui \ libpng \ @@ -79,10 +91,11 @@ LOCAL_STATIC_LIBRARIES := \ libcutils \ liblog \ libselinux \ + libc++_static \ libm \ libc \ - libc++_static \ - libz + libext2_blkid \ + libext2_uuid LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin @@ -96,8 +109,82 @@ else LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB) endif +LOCAL_C_INCLUDES += system/extras/ext4_utils +LOCAL_C_INCLUDES += external/boringssl/include + +# Symlinks +RECOVERY_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS)) + +ifeq ($(ONE_SHOT_MAKEFILE),) +LOCAL_ADDITIONAL_DEPENDENCIES += \ + mount.exfat_static \ + recovery_e2fsck \ + recovery_mke2fs \ + recovery_tune2fs \ + recovery_mkshrc + +endif + +TOYBOX_INSTLIST := $(HOST_OUT_EXECUTABLES)/toybox-instlist +LOCAL_ADDITIONAL_DEPENDENCIES += toybox_recovery_links + +# Set up the static symlinks +RECOVERY_TOOLS := \ + gunzip gzip make_ext4fs minizip reboot setup_adbd sh start stop toybox +LOCAL_POST_INSTALL_CMD := \ + $(hide) $(foreach t,$(RECOVERY_TOOLS),ln -sf recovery $(TARGET_RECOVERY_ROOT_OUT)/sbin/$(t);) + include $(BUILD_EXECUTABLE) +# Run toybox-instlist and generate the rest of the symlinks +toybox_recovery_links: $(TOYBOX_INSTLIST) +toybox_recovery_links: TOY_LIST=$(shell $(TOYBOX_INSTLIST)) +toybox_recovery_links: TOYBOX_BINARY := $(TARGET_RECOVERY_ROOT_OUT)/sbin/toybox +toybox_recovery_links: + @echo -e ${CL_CYN}"Generate Toybox links:"${CL_RST} $(TOY_LIST) + $(hide) $(foreach t,$(TOY_LIST),ln -sf toybox $(TARGET_RECOVERY_ROOT_OUT)/sbin/$(t);) + +# mkshrc +include $(CLEAR_VARS) +LOCAL_MODULE := recovery_mkshrc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/etc +LOCAL_SRC_FILES := etc/mkshrc +LOCAL_MODULE_STEM := mkshrc +include $(BUILD_PREBUILT) + +# make_ext4fs +include $(CLEAR_VARS) +LOCAL_MODULE := libmake_ext4fs_static +LOCAL_MODULE_TAGS := optional +LOCAL_CFLAGS := -Dmain=make_ext4fs_main +LOCAL_SRC_FILES := \ + ../../system/extras/ext4_utils/make_ext4fs_main.c \ + ../../system/extras/ext4_utils/canned_fs_config.c +include $(BUILD_STATIC_LIBRARY) + +# Minizip static library +include $(CLEAR_VARS) +LOCAL_MODULE := libminizip_static +LOCAL_MODULE_TAGS := optional +LOCAL_CFLAGS := -Dmain=minizip_main -D__ANDROID__ -DIOAPI_NO_64 +LOCAL_C_INCLUDES := external/zlib +LOCAL_SRC_FILES := \ + ../../external/zlib/src/contrib/minizip/ioapi.c \ + ../../external/zlib/src/contrib/minizip/minizip.c \ + ../../external/zlib/src/contrib/minizip/zip.c +include $(BUILD_STATIC_LIBRARY) + +# Reboot static library +include $(CLEAR_VARS) +LOCAL_MODULE := libreboot_static +LOCAL_MODULE_TAGS := optional +LOCAL_CFLAGS := -Dmain=reboot_main +LOCAL_SRC_FILES := ../../system/core/reboot/reboot.c +include $(BUILD_STATIC_LIBRARY) + + # All the APIs for testing include $(CLEAR_VARS) LOCAL_CLANG := true |