blob: 7be123069d71d6b2abd16782ba80788a9202a361 [file] [log] [blame]
Joe Onorato6396e702012-05-31 23:21:46 -07001# 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.
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080014
Joe Onorato6396e702012-05-31 23:21:46 -070015LOCAL_PATH := $(call my-dir)
16
Tao Bao673bb6f2018-08-03 20:56:25 -070017# Needed by build/make/core/Makefile. Must be consistent with the value in Android.bp.
Tao Bao1d866052017-04-10 16:55:57 -070018RECOVERY_API_VERSION := 3
19RECOVERY_FSTAB_VERSION := 2
20
Tao Baof7e80122018-03-23 22:01:43 -070021# TARGET_RECOVERY_UI_LIB should be one of librecovery_ui_{default,wear,vr} or a device-specific
22# module that defines make_device() and the exact RecoveryUI class for the target. It defaults to
23# librecovery_ui_default, which uses ScreenRecoveryUI.
24TARGET_RECOVERY_UI_LIB ?= librecovery_ui_default
25
Tao Bao42c45e22018-07-31 09:37:12 -070026# librecovery_ui_ext (shared library)
27# ===================================
28include $(CLEAR_VARS)
29
30LOCAL_MODULE := librecovery_ui_ext
31
32# LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds.
33LOCAL_MULTILIB := first
34
35ifeq ($(TARGET_IS_64_BIT),true)
36LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64
37else
38LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib
39endif
40
41LOCAL_WHOLE_STATIC_LIBRARIES := \
42 $(TARGET_RECOVERY_UI_LIB)
43
44LOCAL_SHARED_LIBRARIES := \
45 libbase \
46 liblog \
Tao Bao5fc72a12018-08-07 14:38:51 -070047 librecovery_ui.recovery
Tao Bao42c45e22018-07-31 09:37:12 -070048
49include $(BUILD_SHARED_LIBRARY)
50
Tao Bao5fc72a12018-08-07 14:38:51 -070051# recovery_deps: A phony target that's depended on by `recovery`, which
52# builds additional modules conditionally based on Makefile variables.
53# ======================================================================
Tao Baofd0ace82017-10-11 20:25:36 -070054include $(CLEAR_VARS)
55
Tao Bao5fc72a12018-08-07 14:38:51 -070056LOCAL_MODULE := recovery_deps
Tao Bao9e309972018-05-11 15:13:10 -070057
58ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
59ifeq ($(HOST_OS),linux)
60LOCAL_REQUIRED_MODULES += \
61 sload.f2fs \
62 mkfs.f2fs
63endif
64endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080065
David Andersonedee8362018-05-16 13:43:22 -070066# e2fsck is needed for adb remount -R.
67ifeq ($(BOARD_EXT4_SHARE_DUP_BLOCKS),true)
68ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
Tao Bao818f9382018-08-06 15:52:24 -070069LOCAL_REQUIRED_MODULES += \
70 e2fsck_static
David Andersonedee8362018-05-16 13:43:22 -070071endif
72endif
73
Tianjie Xu2b1a4642018-09-06 11:58:55 -070074# On A/B devices recovery-persist reads the recovery related file from the persist storage and
75# copies them into /data/misc/recovery. Then, for both A/B and non-A/B devices, recovery-persist
76# parses the last_install file and reports the embedded update metrics. Also, the last_install file
77# will be deteleted after the report.
78LOCAL_REQUIRED_MODULES += recovery-persist
Mark Salyzyna4f701a2016-03-09 14:58:16 -080079ifeq ($(BOARD_CACHEIMAGE_PARTITION_SIZE),)
Tianjie Xu2b1a4642018-09-06 11:58:55 -070080LOCAL_REQUIRED_MODULES += recovery-refresh
Mark Salyzyna4f701a2016-03-09 14:58:16 -080081endif
82
Tao Bao5fc72a12018-08-07 14:38:51 -070083include $(BUILD_PHONY_PACKAGE)
Mark Salyzyna4f701a2016-03-09 14:58:16 -080084
Yabin Cui2f272c02016-06-24 18:22:02 -070085include \
Joe Onorato6396e702012-05-31 23:21:46 -070086 $(LOCAL_PATH)/updater/Android.mk \