blob: c8a21e084e5b0abb677f6c69e5628b09e738a5d9 [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 Bao1d866052017-04-10 16:55:57 -070017# Needed by build/make/core/Makefile.
18RECOVERY_API_VERSION := 3
19RECOVERY_FSTAB_VERSION := 2
20
Elliott Hughes63a31922016-06-09 17:41:22 -070021# libmounts (static library)
22# ===============================
23include $(CLEAR_VARS)
24LOCAL_SRC_FILES := mounts.cpp
Tao Bao5f85d1f2017-03-28 21:12:36 -070025LOCAL_CFLAGS := \
26 -Wall \
27 -Werror
Elliott Hughes63a31922016-06-09 17:41:22 -070028LOCAL_MODULE := libmounts
Tao Bao5f85d1f2017-03-28 21:12:36 -070029LOCAL_STATIC_LIBRARIES := libbase
Elliott Hughes63a31922016-06-09 17:41:22 -070030include $(BUILD_STATIC_LIBRARY)
31
Tao Bao1d866052017-04-10 16:55:57 -070032# librecovery (static library)
33# ===============================
34include $(CLEAR_VARS)
35LOCAL_SRC_FILES := \
36 install.cpp
Tao Baob24510c2017-04-20 17:54:27 -070037LOCAL_CFLAGS := -Wall -Werror
Tao Bao1d866052017-04-10 16:55:57 -070038LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
Tao Bao7fdcb192017-04-12 23:52:20 -070039
40ifeq ($(AB_OTA_UPDATER),true)
41 LOCAL_CFLAGS += -DAB_OTA_UPDATER=1
42endif
43
Tao Bao1d866052017-04-10 16:55:57 -070044LOCAL_MODULE := librecovery
45LOCAL_STATIC_LIBRARIES := \
46 libminui \
Tao Baocfe53c22017-10-03 14:37:21 -070047 libotautil \
Tao Bao919d2c92017-04-10 16:55:57 -070048 libvintf_recovery \
Tao Bao1d866052017-04-10 16:55:57 -070049 libcrypto_utils \
50 libcrypto \
Elliott Hughese1bb7a52017-06-28 08:00:17 -070051 libbase \
52 libziparchive \
Tao Bao1d866052017-04-10 16:55:57 -070053
54include $(BUILD_STATIC_LIBRARY)
55
Tao Baod80a9982016-03-03 11:43:47 -080056# recovery (static executable)
57# ===============================
Doug Zongker18a78e02014-07-10 07:31:46 -070058include $(CLEAR_VARS)
59
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080060LOCAL_SRC_FILES := \
Doug Zongker945fc682014-07-10 10:50:39 -070061 adb_install.cpp \
Elliott Hughes9e7ae8a2015-04-09 13:40:31 -070062 device.cpp \
Tao Bao0d4e0022015-07-19 08:40:37 -070063 fuse_sdcard_provider.cpp \
Elliott Hughes9e7ae8a2015-04-09 13:40:31 -070064 recovery.cpp \
65 roots.cpp \
Tianjie Xue113e4d2016-10-21 17:46:13 -070066 rotate_logs.cpp \
Elliott Hughes9e7ae8a2015-04-09 13:40:31 -070067 screen_ui.cpp \
68 ui.cpp \
Luke Songe2bd8762017-06-12 16:08:33 -070069 vr_ui.cpp \
Tao Bao337db142015-08-20 14:52:57 -070070 wear_ui.cpp \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080071
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080072LOCAL_MODULE := recovery
73
74LOCAL_FORCE_STATIC_EXECUTABLE := true
75
Jin Qianded2dac2017-04-21 14:36:12 -070076LOCAL_REQUIRED_MODULES := e2fsdroid_static mke2fs_static mke2fs.conf
77
Tao Baof6835122015-10-27 21:53:18 -070078ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
Ji-Hwan Leeb9afc2b2014-06-19 02:02:50 +090079ifeq ($(HOST_OS),linux)
Jaegeuk Kimc1c73112017-11-28 19:48:05 -080080LOCAL_REQUIRED_MODULES += sload.f2fs mkfs.f2fs
Ji-Hwan Leeb9afc2b2014-06-19 02:02:50 +090081endif
Tao Baof6835122015-10-27 21:53:18 -070082endif
JP Abgrall37aedb32014-06-16 19:07:39 -070083
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070084LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
Tao Bao99f0d9e2016-10-13 12:46:38 -070085LOCAL_CFLAGS += -Wall -Werror
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070086
Tao Bao4521b702017-06-20 18:11:21 -070087ifneq ($(TARGET_RECOVERY_UI_MARGIN_HEIGHT),)
88LOCAL_CFLAGS += -DRECOVERY_UI_MARGIN_HEIGHT=$(TARGET_RECOVERY_UI_MARGIN_HEIGHT)
89else
90LOCAL_CFLAGS += -DRECOVERY_UI_MARGIN_HEIGHT=0
91endif
92
93ifneq ($(TARGET_RECOVERY_UI_MARGIN_WIDTH),)
94LOCAL_CFLAGS += -DRECOVERY_UI_MARGIN_WIDTH=$(TARGET_RECOVERY_UI_MARGIN_WIDTH)
95else
96LOCAL_CFLAGS += -DRECOVERY_UI_MARGIN_WIDTH=0
97endif
98
Tao Bao5f8dd992017-07-28 00:05:40 -070099ifneq ($(TARGET_RECOVERY_UI_TOUCH_LOW_THRESHOLD),)
100LOCAL_CFLAGS += -DRECOVERY_UI_TOUCH_LOW_THRESHOLD=$(TARGET_RECOVERY_UI_TOUCH_LOW_THRESHOLD)
101else
102LOCAL_CFLAGS += -DRECOVERY_UI_TOUCH_LOW_THRESHOLD=50
103endif
104
105ifneq ($(TARGET_RECOVERY_UI_TOUCH_HIGH_THRESHOLD),)
106LOCAL_CFLAGS += -DRECOVERY_UI_TOUCH_HIGH_THRESHOLD=$(TARGET_RECOVERY_UI_TOUCH_HIGH_THRESHOLD)
107else
108LOCAL_CFLAGS += -DRECOVERY_UI_TOUCH_HIGH_THRESHOLD=90
109endif
110
Tao Bao0470cee2017-08-02 17:11:04 -0700111ifneq ($(TARGET_RECOVERY_UI_PROGRESS_BAR_BASELINE),)
112LOCAL_CFLAGS += -DRECOVERY_UI_PROGRESS_BAR_BASELINE=$(TARGET_RECOVERY_UI_PROGRESS_BAR_BASELINE)
113else
114LOCAL_CFLAGS += -DRECOVERY_UI_PROGRESS_BAR_BASELINE=259
115endif
116
117ifneq ($(TARGET_RECOVERY_UI_ANIMATION_FPS),)
118LOCAL_CFLAGS += -DRECOVERY_UI_ANIMATION_FPS=$(TARGET_RECOVERY_UI_ANIMATION_FPS)
119else
120LOCAL_CFLAGS += -DRECOVERY_UI_ANIMATION_FPS=30
121endif
122
Tao Baoeea3af32017-08-11 13:50:24 -0700123ifneq ($(TARGET_RECOVERY_UI_MENU_UNUSABLE_ROWS),)
124LOCAL_CFLAGS += -DRECOVERY_UI_MENU_UNUSABLE_ROWS=$(TARGET_RECOVERY_UI_MENU_UNUSABLE_ROWS)
125else
126LOCAL_CFLAGS += -DRECOVERY_UI_MENU_UNUSABLE_ROWS=9
127endif
128
Luke Song9d4839c2017-06-23 14:33:46 -0700129ifneq ($(TARGET_RECOVERY_UI_VR_STEREO_OFFSET),)
130LOCAL_CFLAGS += -DRECOVERY_UI_VR_STEREO_OFFSET=$(TARGET_RECOVERY_UI_VR_STEREO_OFFSET)
131else
132LOCAL_CFLAGS += -DRECOVERY_UI_VR_STEREO_OFFSET=0
133endif
134
Dan Albert1ddd3502015-02-18 15:58:15 -0800135LOCAL_C_INCLUDES += \
136 system/vold \
Adrien Grassein3cd669f2014-11-06 14:53:50 +0100137
Joe Onorato6396e702012-05-31 23:21:46 -0700138LOCAL_STATIC_LIBRARIES := \
Tao Bao1d866052017-04-10 16:55:57 -0700139 librecovery \
Tao Baob168f5f2017-04-16 15:22:13 -0700140 libverifier \
Yabin Cui53e7a062016-02-17 12:21:52 -0800141 libbatterymonitor \
Yabin Cui2f272c02016-06-24 18:22:02 -0700142 libbootloader_message \
Jin Qianded2dac2017-04-21 14:36:12 -0700143 libfs_mgr \
Alex Deymo31653662017-01-11 14:02:13 -0800144 libext4_utils \
Alex Deymo67f3aa82017-01-11 14:38:20 -0800145 libsparse \
Tianjie Xu8cf5c8f2016-09-08 20:10:11 -0700146 libziparchive \
147 libotautil \
Elliott Hughes63a31922016-06-09 17:41:22 -0700148 libmounts \
Joe Onorato6396e702012-05-31 23:21:46 -0700149 libminadbd \
Jerry Zhangd428e792017-07-13 18:17:35 -0700150 libasyncio \
Doug Zongker18a78e02014-07-10 07:31:46 -0700151 libfusesideload \
Joe Onorato6396e702012-05-31 23:21:46 -0700152 libminui \
Joe Onorato6396e702012-05-31 23:21:46 -0700153 libpng \
Josh Gao073164f2016-08-05 15:59:05 -0700154 libcrypto_utils \
155 libcrypto \
Tao Bao919d2c92017-04-10 16:55:57 -0700156 libvintf_recovery \
157 libvintf \
Yifan Hong495c5212018-03-06 17:59:58 -0800158 libhidl-gen-utils \
Tao Bao919d2c92017-04-10 16:55:57 -0700159 libtinyxml2 \
Elliott Hughes8fd86d72015-04-13 14:36:02 -0700160 libbase \
Joe Onorato6396e702012-05-31 23:21:46 -0700161 libcutils \
Yabin Cui53e7a062016-02-17 12:21:52 -0800162 libutils \
Ying Wang4e214822013-04-09 21:41:29 -0700163 liblog \
Jin Qian000148d2017-11-03 11:52:33 -0700164 libselinux \
165 libz
Doug Zongker49c73a72010-06-29 17:36:28 -0700166
Yabin Cui53e7a062016-02-17 12:21:52 -0800167LOCAL_HAL_STATIC_LIBRARIES := libhealthd
168
Elliott Hughes01fcbe12016-05-23 17:43:41 -0700169ifeq ($(AB_OTA_UPDATER),true)
170 LOCAL_CFLAGS += -DAB_OTA_UPDATER=1
171endif
172
Ying Wang5a50b1b2015-03-10 11:56:56 -0700173LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800174
Doug Zongkerddd6a282009-06-09 12:22:33 -0700175ifeq ($(TARGET_RECOVERY_UI_LIB),)
Doug Zongkerdaefc1d2011-10-31 09:34:15 -0700176 LOCAL_SRC_FILES += default_device.cpp
Doug Zongkerddd6a282009-06-09 12:22:33 -0700177else
178 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
179endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800180
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800181ifeq ($(BOARD_CACHEIMAGE_PARTITION_SIZE),)
Jin Qianded2dac2017-04-21 14:36:12 -0700182LOCAL_REQUIRED_MODULES += recovery-persist recovery-refresh
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800183endif
184
185include $(BUILD_EXECUTABLE)
186
187# recovery-persist (system partition dynamic executable run after /data mounts)
188# ===============================
189include $(CLEAR_VARS)
Tianjie Xue113e4d2016-10-21 17:46:13 -0700190LOCAL_SRC_FILES := \
191 recovery-persist.cpp \
192 rotate_logs.cpp
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800193LOCAL_MODULE := recovery-persist
194LOCAL_SHARED_LIBRARIES := liblog libbase
Tianjie Xuc89d1e72017-08-28 14:15:07 -0700195LOCAL_CFLAGS := -Wall -Werror
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800196LOCAL_INIT_RC := recovery-persist.rc
197include $(BUILD_EXECUTABLE)
198
199# recovery-refresh (system partition dynamic executable run at init)
200# ===============================
201include $(CLEAR_VARS)
Tianjie Xue113e4d2016-10-21 17:46:13 -0700202LOCAL_SRC_FILES := \
203 recovery-refresh.cpp \
204 rotate_logs.cpp
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800205LOCAL_MODULE := recovery-refresh
Tianjie Xue113e4d2016-10-21 17:46:13 -0700206LOCAL_SHARED_LIBRARIES := liblog libbase
Tianjie Xuc89d1e72017-08-28 14:15:07 -0700207LOCAL_CFLAGS := -Wall -Werror
Mark Salyzyna4f701a2016-03-09 14:58:16 -0800208LOCAL_INIT_RC := recovery-refresh.rc
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800209include $(BUILD_EXECUTABLE)
210
Tao Baod80a9982016-03-03 11:43:47 -0800211# libverifier (static library)
212# ===============================
Kenny Root7a4adb52013-10-09 10:14:35 -0700213include $(CLEAR_VARS)
214LOCAL_MODULE := libverifier
Kenny Root7a4adb52013-10-09 10:14:35 -0700215LOCAL_SRC_FILES := \
Kenny Root7a4adb52013-10-09 10:14:35 -0700216 asn1_decoder.cpp \
Tao Baod7bf82e2017-03-18 09:24:11 -0700217 verifier.cpp
Tao Bao0ecbd762017-01-16 21:16:58 -0800218LOCAL_STATIC_LIBRARIES := \
Tao Bao09e468f2017-09-29 14:39:33 -0700219 libotautil \
Tao Bao0ecbd762017-01-16 21:16:58 -0800220 libcrypto_utils \
221 libcrypto \
222 libbase
Tianjie Xuc89d1e72017-08-28 14:15:07 -0700223LOCAL_CFLAGS := -Wall -Werror
Jed Estep43291862016-02-03 17:02:09 -0800224include $(BUILD_STATIC_LIBRARY)
Doug Zongker73ae31c2009-12-09 17:01:45 -0800225
Tao Bao0470cee2017-08-02 17:11:04 -0700226# Wear default device
227# ===============================
228include $(CLEAR_VARS)
229LOCAL_SRC_FILES := wear_device.cpp
Tianjie Xuc89d1e72017-08-28 14:15:07 -0700230LOCAL_CFLAGS := -Wall -Werror
Tao Bao0470cee2017-08-02 17:11:04 -0700231
232# Should match TARGET_RECOVERY_UI_LIB in BoardConfig.mk.
233LOCAL_MODULE := librecovery_ui_wear
234
235include $(BUILD_STATIC_LIBRARY)
236
Luke Songe2bd8762017-06-12 16:08:33 -0700237# vr headset default device
238# ===============================
239include $(CLEAR_VARS)
240
241LOCAL_SRC_FILES := vr_device.cpp
Tianjie Xuc89d1e72017-08-28 14:15:07 -0700242LOCAL_CFLAGS := -Wall -Werror
Luke Songe2bd8762017-06-12 16:08:33 -0700243
244# should match TARGET_RECOVERY_UI_LIB set in BoardConfig.mk
245LOCAL_MODULE := librecovery_ui_vr
246
247include $(BUILD_STATIC_LIBRARY)
248
Yabin Cui2f272c02016-06-24 18:22:02 -0700249include \
Alex Deymofb00d822016-11-08 15:46:07 -0800250 $(LOCAL_PATH)/boot_control/Android.mk \
Yabin Cui2f272c02016-06-24 18:22:02 -0700251 $(LOCAL_PATH)/minui/Android.mk \
Kenny Root7a4adb52013-10-09 10:14:35 -0700252 $(LOCAL_PATH)/tests/Android.mk \
Joe Onorato6396e702012-05-31 23:21:46 -0700253 $(LOCAL_PATH)/tools/Android.mk \
Joe Onorato6396e702012-05-31 23:21:46 -0700254 $(LOCAL_PATH)/updater/Android.mk \
Tao Bao7197ee02015-12-05 21:21:27 -0800255 $(LOCAL_PATH)/update_verifier/Android.mk \