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 libutils \ 74 libm \ 75 libc 76 77ifeq ($(TARGET_USERIMAGES_USE_EXT4), true) 78 LOCAL_CFLAGS += -DUSE_EXT4 79 LOCAL_C_INCLUDES += system/extras/ext4_utils system/vold 80 LOCAL_STATIC_LIBRARIES += libext4_utils_static libz 81endif 82 83# This binary is in the recovery ramdisk, which is otherwise a copy of root. 84# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses 85# a (redundant) copy of the binary in /system/bin for user builds. 86# TODO: Build the ramdisk image in a more principled way. 87LOCAL_MODULE_TAGS := eng 88 89ifeq ($(TARGET_RECOVERY_UI_LIB),) 90 LOCAL_SRC_FILES += default_device.cpp 91else 92 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB) 93endif 94 95LOCAL_C_INCLUDES += system/extras/ext4_utils 96LOCAL_C_INCLUDES += external/openssl/include 97 98include $(BUILD_EXECUTABLE) 99 100# All the APIs for testing 101include $(CLEAR_VARS) 102LOCAL_MODULE := libverifier 103LOCAL_MODULE_TAGS := tests 104LOCAL_SRC_FILES := \ 105 asn1_decoder.cpp 106include $(BUILD_STATIC_LIBRARY) 107 108include $(CLEAR_VARS) 109LOCAL_MODULE := verifier_test 110LOCAL_FORCE_STATIC_EXECUTABLE := true 111LOCAL_MODULE_TAGS := tests 112LOCAL_CFLAGS += -DNO_RECOVERY_MOUNT 113LOCAL_CFLAGS += -Wno-unused-parameter 114LOCAL_SRC_FILES := \ 115 verifier_test.cpp \ 116 asn1_decoder.cpp \ 117 verifier.cpp \ 118 ui.cpp 119LOCAL_STATIC_LIBRARIES := \ 120 libmincrypt \ 121 libminui \ 122 libminzip \ 123 libcutils \ 124 libstdc++ \ 125 libc 126include $(BUILD_EXECUTABLE) 127 128 129include $(LOCAL_PATH)/minui/Android.mk \ 130 $(LOCAL_PATH)/minzip/Android.mk \ 131 $(LOCAL_PATH)/minadbd/Android.mk \ 132 $(LOCAL_PATH)/mtdutils/Android.mk \ 133 $(LOCAL_PATH)/tests/Android.mk \ 134 $(LOCAL_PATH)/tools/Android.mk \ 135 $(LOCAL_PATH)/edify/Android.mk \ 136 $(LOCAL_PATH)/uncrypt/Android.mk \ 137 $(LOCAL_PATH)/updater/Android.mk \ 138 $(LOCAL_PATH)/applypatch/Android.mk 139