1# Copyright (C) 2007 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16 17 18include $(CLEAR_VARS) 19 20LOCAL_SRC_FILES := fuse_sideload.c 21 22LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter 23LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE 24 25LOCAL_MODULE := libfusesideload 26 27LOCAL_STATIC_LIBRARIES := libcutils libc libmincrypt 28include $(BUILD_STATIC_LIBRARY) 29 30include $(CLEAR_VARS) 31 32LOCAL_SRC_FILES := \ 33 recovery.cpp \ 34 bootloader.cpp \ 35 install.cpp \ 36 roots.cpp \ 37 ui.cpp \ 38 screen_ui.cpp \ 39 asn1_decoder.cpp \ 40 verifier.cpp \ 41 adb_install.cpp \ 42 fuse_sdcard_provider.c 43 44LOCAL_MODULE := recovery 45 46LOCAL_FORCE_STATIC_EXECUTABLE := true 47 48ifeq ($(HOST_OS),linux) 49LOCAL_REQUIRED_MODULES := mkfs.f2fs 50endif 51 52RECOVERY_API_VERSION := 3 53RECOVERY_FSTAB_VERSION := 2 54LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION) 55LOCAL_CFLAGS += -Wno-unused-parameter 56 57LOCAL_STATIC_LIBRARIES := \ 58 libext4_utils_static \ 59 libsparse_static \ 60 libminzip \ 61 libz \ 62 libmtdutils \ 63 libmincrypt \ 64 libminadbd \ 65 libfusesideload \ 66 libminui \ 67 libpng \ 68 libfs_mgr \ 69 libcutils \ 70 liblog \ 71 libselinux \ 72 libstdc++ \ 73 libm \ 74 libc 75 76ifeq ($(TARGET_USERIMAGES_USE_EXT4), true) 77 LOCAL_CFLAGS += -DUSE_EXT4 78 LOCAL_C_INCLUDES += system/extras/ext4_utils system/vold 79 LOCAL_STATIC_LIBRARIES += libext4_utils_static libz 80endif 81 82# This binary is in the recovery ramdisk, which is otherwise a copy of root. 83# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses 84# a (redundant) copy of the binary in /system/bin for user builds. 85# TODO: Build the ramdisk image in a more principled way. 86LOCAL_MODULE_TAGS := eng 87 88ifeq ($(TARGET_RECOVERY_UI_LIB),) 89 LOCAL_SRC_FILES += default_device.cpp 90else 91 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB) 92endif 93 94LOCAL_C_INCLUDES += system/extras/ext4_utils 95LOCAL_C_INCLUDES += external/openssl/include 96 97include $(BUILD_EXECUTABLE) 98 99# All the APIs for testing 100include $(CLEAR_VARS) 101LOCAL_MODULE := libverifier 102LOCAL_MODULE_TAGS := tests 103LOCAL_SRC_FILES := \ 104 asn1_decoder.cpp 105include $(BUILD_STATIC_LIBRARY) 106 107include $(CLEAR_VARS) 108LOCAL_MODULE := verifier_test 109LOCAL_FORCE_STATIC_EXECUTABLE := true 110LOCAL_MODULE_TAGS := tests 111LOCAL_CFLAGS += -DNO_RECOVERY_MOUNT 112LOCAL_CFLAGS += -Wno-unused-parameter 113LOCAL_SRC_FILES := \ 114 verifier_test.cpp \ 115 asn1_decoder.cpp \ 116 verifier.cpp \ 117 ui.cpp 118LOCAL_STATIC_LIBRARIES := \ 119 libmincrypt \ 120 libminui \ 121 libminzip \ 122 libcutils \ 123 libstdc++ \ 124 libc 125include $(BUILD_EXECUTABLE) 126 127 128include $(LOCAL_PATH)/minui/Android.mk \ 129 $(LOCAL_PATH)/minzip/Android.mk \ 130 $(LOCAL_PATH)/minadbd/Android.mk \ 131 $(LOCAL_PATH)/mtdutils/Android.mk \ 132 $(LOCAL_PATH)/tests/Android.mk \ 133 $(LOCAL_PATH)/tools/Android.mk \ 134 $(LOCAL_PATH)/edify/Android.mk \ 135 $(LOCAL_PATH)/uncrypt/Android.mk \ 136 $(LOCAL_PATH)/updater/Android.mk \ 137 $(LOCAL_PATH)/applypatch/Android.mk 138