blob: 10726096b12105fcd8307493251f1a539dc4e4a3 [file] [log] [blame]
Doug Zongkerddd6a282009-06-09 12:22:33 -07001ifneq ($(TARGET_SIMULATOR),true)
2ifeq ($(TARGET_ARCH),arm)
3
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -08004LOCAL_PATH := $(call my-dir)
5include $(CLEAR_VARS)
6
7commands_recovery_local_path := $(LOCAL_PATH)
Koushik K. Dutta6060e5c2010-02-11 22:27:06 -08008# LOCAL_CPP_EXTENSION := .c
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -08009
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080010LOCAL_SRC_FILES := \
Koushik K. Duttab4bb02b2010-04-02 13:16:06 -070011 extendedcommands.c \
12 nandroid.c \
Koushik K. Dutta4c1eed22010-02-11 18:59:58 -080013 legacy.c \
Koushik K. Dutta6060e5c2010-02-11 22:27:06 -080014 commands.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080015 recovery.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080016 install.c \
17 roots.c \
18 ui.c \
19 verifier.c
20
Koushik Dutta852bb422010-07-24 11:18:00 -070021LOCAL_SRC_FILES += \
22 reboot.c \
23 setprop.c
24
Koushik Dutta5aaa8232010-07-20 16:23:18 -070025ifndef BOARD_HAS_NO_MISC_PARTITION
26 LOCAL_SRC_FILES += \
27 firmware.c \
28 bootloader.c
29else
30 LOCAL_CFLAGS += -DBOARD_HAS_NO_MISC_PARTITION
31endif
32
Koushik Dutta5aaa8232010-07-20 16:23:18 -070033ifdef BOARD_RECOVERY_IGNORE_BOOTABLES
Koushik Duttad4060c32010-07-22 20:14:44 -070034 LOCAL_CFLAGS += -DBOARD_RECOVERY_IGNORE_BOOTABLES
Koushik Dutta5aaa8232010-07-20 16:23:18 -070035endif
36
Koushik Duttad632c0d2010-08-16 09:22:18 -070037ifdef BOARD_HIJACK_RECOVERY_PATH
38 LOCAL_CFLAGS += -DBOARD_HIJACK_RECOVERY_PATH=\"$(BOARD_HIJACK_RECOVERY_PATH)\"
39endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080040
41LOCAL_SRC_FILES += test_roots.c
42
43LOCAL_MODULE := recovery
44
45LOCAL_FORCE_STATIC_EXECUTABLE := true
46
Koushik Dutta7f4ff5c2010-09-20 19:21:52 -070047RECOVERY_VERSION := ClockworkMod Recovery v2.5.1.0
Koushik Dutta5aaa8232010-07-20 16:23:18 -070048LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Koushik Dutta4e10b132010-09-13 15:14:07 -070049RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070050LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
51
Koushik Dutta387080a2010-06-09 12:23:32 -070052ifeq ($(BOARD_HAS_NO_SELECT_BUTTON),true)
Koushik Duttaf4e3a672010-06-09 12:19:41 -070053 LOCAL_CFLAGS += -DKEY_POWER_IS_SELECT_ITEM
54endif
55
Koushik Dutta14239d22010-06-14 15:02:48 -070056ifdef BOARD_SDCARD_DEVICE_PRIMARY
57 LOCAL_CFLAGS += -DSDCARD_DEVICE_PRIMARY=\"$(BOARD_SDCARD_DEVICE_PRIMARY)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070058endif
59
Koushik Dutta14239d22010-06-14 15:02:48 -070060ifdef BOARD_SDCARD_DEVICE_SECONDARY
61 LOCAL_CFLAGS += -DSDCARD_DEVICE_SECONDARY=\"$(BOARD_SDCARD_DEVICE_SECONDARY)\"
Koushik Dutta59bcc7e2010-06-11 15:48:49 -070062endif
63
Koushik Dutta14239d22010-06-14 15:02:48 -070064ifdef BOARD_SDEXT_DEVICE
65 LOCAL_CFLAGS += -DSDEXT_DEVICE=\"$(BOARD_SDEXT_DEVICE)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070066endif
67
Koushik Dutta14239d22010-06-14 15:02:48 -070068ifdef BOARD_SDEXT_FILESYSTEM
Koushik Duttac2908612010-06-19 08:42:59 -070069 LOCAL_CFLAGS += -DSDEXT_FILESYSTEM=\"$(BOARD_SDEXT_FILESYSTEM)\"
Koushik Dutta14239d22010-06-14 15:02:48 -070070endif
71
72ifdef BOARD_DATA_DEVICE
73 LOCAL_CFLAGS += -DDATA_DEVICE=\"$(BOARD_DATA_DEVICE)\"
74endif
75
76ifdef BOARD_DATA_FILESYSTEM
77 LOCAL_CFLAGS += -DDATA_FILESYSTEM=\"$(BOARD_DATA_FILESYSTEM)\"
78endif
79
Koushik Dutta5aaa8232010-07-20 16:23:18 -070080ifdef BOARD_DATADATA_DEVICE
81 LOCAL_CFLAGS += -DDATADATA_DEVICE=\"$(BOARD_DATADATA_DEVICE)\"
82endif
83
84ifdef BOARD_DATADATA_FILESYSTEM
85 LOCAL_CFLAGS += -DDATADATA_FILESYSTEM=\"$(BOARD_DATADATA_FILESYSTEM)\"
86endif
87
Koushik Dutta14239d22010-06-14 15:02:48 -070088ifdef BOARD_CACHE_DEVICE
89 LOCAL_CFLAGS += -DCACHE_DEVICE=\"$(BOARD_CACHE_DEVICE)\"
90endif
91
92ifdef BOARD_CACHE_FILESYSTEM
93 LOCAL_CFLAGS += -DCACHE_FILESYSTEM=\"$(BOARD_CACHE_FILESYSTEM)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070094endif
95
Koushik Dutta5aaa8232010-07-20 16:23:18 -070096ifdef BOARD_SYSTEM_DEVICE
97 LOCAL_CFLAGS += -DSYSTEM_DEVICE=\"$(BOARD_SYSTEM_DEVICE)\"
98endif
99
100ifdef BOARD_SYSTEM_FILESYSTEM
101 LOCAL_CFLAGS += -DSYSTEM_FILESYSTEM=\"$(BOARD_SYSTEM_FILESYSTEM)\"
102endif
103
Koushik Dutta8b5e1852010-06-14 22:04:22 -0700104ifdef BOARD_HAS_DATADATA
105 LOCAL_CFLAGS += -DHAS_DATADATA
106endif
107
Koushik Duttad4060c32010-07-22 20:14:44 -0700108ifdef BOARD_DATA_FILESYSTEM_OPTIONS
109 LOCAL_CFLAGS += -DDATA_FILESYSTEM_OPTIONS=\"$(BOARD_DATA_FILESYSTEM_OPTIONS)\"
110endif
111
112ifdef BOARD_DATADATA_FILESYSTEM_OPTIONS
113 LOCAL_CFLAGS += -DDATADATA_FILESYSTEM_OPTIONS=\"$(BOARD_DATADATA_FILESYSTEM_OPTIONS)\"
114endif
115
116ifdef BOARD_CACHE_FILESYSTEM_OPTIONS
117 LOCAL_CFLAGS += -DCACHE_FILESYSTEM_OPTIONS=\"$(BOARD_CACHE_FILESYSTEM_OPTIONS)\"
118endif
119
120ifdef BOARD_SYSTEM_FILESYSTEM_OPTIONS
121 LOCAL_CFLAGS += -DSYSTEM_FILESYSTEM_OPTIONS=\"$(BOARD_SYSTEM_FILESYSTEM_OPTIONS)\"
122endif
123
124ifdef BOARD_HAS_MTD_CACHE
125 LOCAL_CFLAGS += -DBOARD_HAS_MTD_CACHE
126endif
127
Koushik Dutta28a41b42010-09-13 14:55:17 -0700128ifdef BOARD_USES_BMLUTILS
129 LOCAL_CFLAGS += -DBOARD_USES_BMLUTILS
130 LOCAL_STATIC_LIBRARIES += libbmlutils
131endif
132
Koushik Duttae17a78d2010-08-29 12:35:10 -0700133ifdef BOARD_HAS_SMALL_RECOVERY
134 LOCAL_CFLAGS += -DBOARD_HAS_SMALL_RECOVERY
135endif
136
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800137# This binary is in the recovery ramdisk, which is otherwise a copy of root.
138# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
139# a (redundant) copy of the binary in /system/bin for user builds.
140# TODO: Build the ramdisk image in a more principled way.
141
142LOCAL_MODULE_TAGS := eng
143
Doug Zongkerddd6a282009-06-09 12:22:33 -0700144LOCAL_STATIC_LIBRARIES :=
Koushik Duttaadf906d2010-09-26 15:58:35 -0700145ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
Doug Zongkerddd6a282009-06-09 12:22:33 -0700146 LOCAL_SRC_FILES += default_recovery_ui.c
147else
Koushik Duttaadf906d2010-09-26 15:58:35 -0700148 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Doug Zongkerddd6a282009-06-09 12:22:33 -0700149endif
Koushik K. Dutta16f0b492010-03-19 14:37:11 -0700150LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -0800151LOCAL_STATIC_LIBRARIES += libamend
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700152LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmmcutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -0700153LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800154LOCAL_STATIC_LIBRARIES += libstdc++ libc
155
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800156include $(BUILD_EXECUTABLE)
157
Koushik Dutta852bb422010-07-24 11:18:00 -0700158RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -0700159
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700160# nc is provided by external/netcat
161SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
162$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
163$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
164 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
165 @mkdir -p $(dir $@)
166 @rm -rf $@
167 $(hide) ln -sf $(RECOVERY_BINARY) $@
168
169ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
170
171# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700172BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700173SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
174$(SYMLINKS): BUSYBOX_BINARY := busybox
175$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
176 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
177 @mkdir -p $(dir $@)
178 @rm -rf $@
179 $(hide) ln -sf $(BUSYBOX_BINARY) $@
180
181ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
182
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700183include $(CLEAR_VARS)
184LOCAL_MODULE := nandroid-md5.sh
185LOCAL_MODULE_TAGS := eng
186LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
187LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
188LOCAL_SRC_FILES := nandroid-md5.sh
189include $(BUILD_PREBUILT)
190
Koushik Duttafd1579b2010-05-01 12:46:55 -0700191include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700192LOCAL_MODULE := killrecovery.sh
193LOCAL_MODULE_TAGS := eng
194LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
195LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
196LOCAL_SRC_FILES := killrecovery.sh
197include $(BUILD_PREBUILT)
198
Doug Zongker73ae31c2009-12-09 17:01:45 -0800199include $(CLEAR_VARS)
200
201LOCAL_SRC_FILES := verifier_test.c verifier.c
202
203LOCAL_MODULE := verifier_test
204
205LOCAL_FORCE_STATIC_EXECUTABLE := true
206
207LOCAL_MODULE_TAGS := tests
208
209LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
210
211include $(BUILD_EXECUTABLE)
212
213
Koushik Duttad823d5f2010-07-01 08:21:02 -0700214include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700215include $(commands_recovery_local_path)/bmlutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700216include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800217include $(commands_recovery_local_path)/minzip/Android.mk
218include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700219include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800220include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700221include $(commands_recovery_local_path)/edify/Android.mk
222include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800223include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700224include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800225commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700226
227endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800228endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700229