blob: 8506040f7d5125ae7f5dbd768c442b6645a2ef84 [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
Hongguang Chen04267272020-04-21 20:58:04 -070021# TARGET_RECOVERY_UI_LIB should be one of librecovery_ui_{default,wear,vr,ethernet} or a
22# device-specific module that defines make_device() and the exact RecoveryUI class for the
23# target. It defaults to librecovery_ui_default, which uses ScreenRecoveryUI.
Tao Baof7e80122018-03-23 22:01:43 -070024TARGET_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
Bob Badour29be3f62021-02-12 18:00:57 -080031LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-OFL
32LOCAL_LICENSE_CONDITIONS := by_exception_only notice
33LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
Tao Bao42c45e22018-07-31 09:37:12 -070034
35# LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds.
36LOCAL_MULTILIB := first
37
38ifeq ($(TARGET_IS_64_BIT),true)
39LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64
40else
41LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib
42endif
43
44LOCAL_WHOLE_STATIC_LIBRARIES := \
45 $(TARGET_RECOVERY_UI_LIB)
46
47LOCAL_SHARED_LIBRARIES := \
Inseob Kim5d4dea12021-06-30 15:08:16 +090048 libbase.recovery \
49 liblog.recovery \
Tao Bao5fc72a12018-08-07 14:38:51 -070050 librecovery_ui.recovery
Tao Bao42c45e22018-07-31 09:37:12 -070051
52include $(BUILD_SHARED_LIBRARY)
53
Tao Bao5fc72a12018-08-07 14:38:51 -070054# recovery_deps: A phony target that's depended on by `recovery`, which
55# builds additional modules conditionally based on Makefile variables.
56# ======================================================================
Tao Baofd0ace82017-10-11 20:25:36 -070057include $(CLEAR_VARS)
58
Tao Bao5fc72a12018-08-07 14:38:51 -070059LOCAL_MODULE := recovery_deps
Bob Badour29be3f62021-02-12 18:00:57 -080060LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-OFL
61LOCAL_LICENSE_CONDITIONS := by_exception_only notice
62LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
Tao Bao9e309972018-05-11 15:13:10 -070063
64ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
Tao Bao9e309972018-05-11 15:13:10 -070065LOCAL_REQUIRED_MODULES += \
Tao Baoc674dfb2018-12-20 14:25:15 -080066 make_f2fs.recovery \
Randall Huang6a6a4122021-10-12 23:51:24 +080067 fsck.f2fs.recovery \
Tao Baoc674dfb2018-12-20 14:25:15 -080068 sload_f2fs.recovery
Tao Bao9e309972018-05-11 15:13:10 -070069endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080070
Daeho Jeong88cf0742021-12-01 15:25:14 -080071LOCAL_REQUIRED_MODULES += \
72 mkfs.erofs.recovery \
73 dump.erofs.recovery \
74 fsck.erofs.recovery
75
Tianjie Xu2b1a4642018-09-06 11:58:55 -070076# On A/B devices recovery-persist reads the recovery related file from the persist storage and
77# copies them into /data/misc/recovery. Then, for both A/B and non-A/B devices, recovery-persist
78# parses the last_install file and reports the embedded update metrics. Also, the last_install file
79# will be deteleted after the report.
80LOCAL_REQUIRED_MODULES += recovery-persist
Mark Salyzyna4f701a2016-03-09 14:58:16 -080081ifeq ($(BOARD_CACHEIMAGE_PARTITION_SIZE),)
Tianjie Xu2b1a4642018-09-06 11:58:55 -070082LOCAL_REQUIRED_MODULES += recovery-refresh
Mark Salyzyna4f701a2016-03-09 14:58:16 -080083endif
84
Tao Bao5fc72a12018-08-07 14:38:51 -070085include $(BUILD_PHONY_PACKAGE)
Mark Salyzyna4f701a2016-03-09 14:58:16 -080086
Yabin Cui2f272c02016-06-24 18:22:02 -070087include \
Joe Onorato6396e702012-05-31 23:21:46 -070088 $(LOCAL_PATH)/updater/Android.mk \