diff options
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 |