266 lines
6 KiB
Makefile
266 lines
6 KiB
Makefile
# Copyright (C) 2007 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
# Needed by build/make/core/Makefile.
|
|
RECOVERY_API_VERSION := 3
|
|
RECOVERY_FSTAB_VERSION := 2
|
|
|
|
# TARGET_RECOVERY_UI_LIB should be one of librecovery_ui_{default,wear,vr} or a device-specific
|
|
# module that defines make_device() and the exact RecoveryUI class for the target. It defaults to
|
|
# librecovery_ui_default, which uses ScreenRecoveryUI.
|
|
TARGET_RECOVERY_UI_LIB ?= librecovery_ui_default
|
|
|
|
recovery_common_cflags := \
|
|
-Wall \
|
|
-Werror \
|
|
-DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
|
|
|
|
# librecovery_ui_ext (shared library)
|
|
# ===================================
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := librecovery_ui_ext
|
|
|
|
# LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds.
|
|
LOCAL_MULTILIB := first
|
|
|
|
ifeq ($(TARGET_IS_64_BIT),true)
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64
|
|
else
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib
|
|
endif
|
|
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
|
$(TARGET_RECOVERY_UI_LIB)
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase \
|
|
liblog \
|
|
librecovery_ui
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
# librecovery_ui (shared library)
|
|
# ===============================
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := \
|
|
device.cpp \
|
|
screen_ui.cpp \
|
|
ui.cpp \
|
|
vr_ui.cpp \
|
|
wear_ui.cpp
|
|
|
|
LOCAL_MODULE := librecovery_ui
|
|
|
|
LOCAL_CFLAGS := $(recovery_common_cflags)
|
|
|
|
LOCAL_MULTILIB := first
|
|
|
|
ifeq ($(TARGET_IS_64_BIT),true)
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64
|
|
else
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib
|
|
endif
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
libminui \
|
|
libotautil \
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase \
|
|
libpng \
|
|
libz \
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
# librecovery_ui (static library)
|
|
# ===============================
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := \
|
|
device.cpp \
|
|
screen_ui.cpp \
|
|
ui.cpp \
|
|
vr_ui.cpp \
|
|
wear_ui.cpp
|
|
|
|
LOCAL_MODULE := librecovery_ui
|
|
|
|
LOCAL_CFLAGS := $(recovery_common_cflags)
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
libminui \
|
|
libotautil \
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase \
|
|
libpng \
|
|
libz \
|
|
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
# Health HAL dependency
|
|
health_hal_static_libraries := \
|
|
android.hardware.health@2.0-impl \
|
|
android.hardware.health@2.0 \
|
|
android.hardware.health@1.0 \
|
|
android.hardware.health@1.0-convert \
|
|
libhealthstoragedefault \
|
|
libhidltransport \
|
|
libhidlbase \
|
|
libhwbinder_noltopgo \
|
|
libvndksupport \
|
|
libbatterymonitor
|
|
|
|
librecovery_static_libraries := \
|
|
libfusesideload \
|
|
libminadbd \
|
|
libminui \
|
|
libverifier \
|
|
libotautil \
|
|
$(health_hal_static_libraries) \
|
|
libvintf_recovery \
|
|
libvintf \
|
|
|
|
librecovery_shared_libraries := \
|
|
libasyncio \
|
|
libbase \
|
|
libbootloader_message \
|
|
libcrypto \
|
|
libcrypto_utils \
|
|
libcutils \
|
|
libext4_utils \
|
|
libfs_mgr \
|
|
libhidl-gen-utils \
|
|
liblog \
|
|
libpng \
|
|
libselinux \
|
|
libtinyxml2 \
|
|
libutils \
|
|
libz \
|
|
libziparchive \
|
|
|
|
# librecovery (static library)
|
|
# ===============================
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := \
|
|
adb_install.cpp \
|
|
fsck_unshare_blocks.cpp \
|
|
fuse_sdcard_provider.cpp \
|
|
install.cpp \
|
|
recovery.cpp \
|
|
roots.cpp \
|
|
|
|
LOCAL_C_INCLUDES := \
|
|
system/vold \
|
|
|
|
LOCAL_CFLAGS := $(recovery_common_cflags)
|
|
|
|
LOCAL_MODULE := librecovery
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
$(librecovery_static_libraries)
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
$(librecovery_shared_libraries)
|
|
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
# recovery (static executable)
|
|
# ===============================
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := \
|
|
logging.cpp \
|
|
recovery_main.cpp \
|
|
|
|
LOCAL_MODULE := recovery
|
|
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/bin
|
|
|
|
# Cannot link with LLD: undefined symbol: UsbNoPermissionsLongHelpText
|
|
# http://b/77543887, lld does not handle -Wl,--gc-sections as well as ld.
|
|
LOCAL_USE_CLANG_LLD := false
|
|
|
|
LOCAL_CFLAGS := $(recovery_common_cflags)
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
librecovery \
|
|
librecovery_ui_default \
|
|
$(librecovery_static_libraries)
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
librecovery_ui \
|
|
$(librecovery_shared_libraries)
|
|
|
|
LOCAL_HAL_STATIC_LIBRARIES := libhealthd
|
|
|
|
LOCAL_REQUIRED_MODULES := \
|
|
e2fsdroid.recovery \
|
|
mke2fs.recovery \
|
|
mke2fs.conf
|
|
|
|
ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
|
|
ifeq ($(HOST_OS),linux)
|
|
LOCAL_REQUIRED_MODULES += \
|
|
sload.f2fs \
|
|
mkfs.f2fs
|
|
endif
|
|
endif
|
|
|
|
# e2fsck is needed for adb remount -R.
|
|
ifeq ($(BOARD_EXT4_SHARE_DUP_BLOCKS),true)
|
|
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
|
|
LOCAL_REQUIRED_MODULES += \
|
|
e2fsck_static
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(BOARD_CACHEIMAGE_PARTITION_SIZE),)
|
|
LOCAL_REQUIRED_MODULES += \
|
|
recovery-persist \
|
|
recovery-refresh
|
|
endif
|
|
|
|
LOCAL_REQUIRED_MODULES += \
|
|
librecovery_ui_ext
|
|
|
|
# TODO(b/110380063): Explicitly install the following shared libraries to recovery, until `recovery`
|
|
# module is built with Soong (with `recovery: true` flag).
|
|
LOCAL_REQUIRED_MODULES += \
|
|
libasyncio.recovery \
|
|
libbase.recovery \
|
|
libbootloader_message.recovery \
|
|
libcrypto.recovery \
|
|
libcrypto_utils.recovery \
|
|
libcutils.recovery \
|
|
libext4_utils.recovery \
|
|
libfs_mgr.recovery \
|
|
libhidl-gen-utils.recovery \
|
|
liblog.recovery \
|
|
libpng.recovery \
|
|
libselinux.recovery \
|
|
libsparse.recovery \
|
|
libtinyxml2.recovery \
|
|
libutils.recovery \
|
|
libz.recovery \
|
|
libziparchive.recovery \
|
|
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
include \
|
|
$(LOCAL_PATH)/tests/Android.mk \
|
|
$(LOCAL_PATH)/updater/Android.mk \
|