blob: 604faa1030c08c711e1a3b3ebac18135436356b8 [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 Duttae17a78d2010-08-29 12:35:10 -070047RECOVERY_VERSION := ClockworkMod Recovery v2.5.0.9
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
Koushik Duttaf2954b52010-06-30 23:27:26 -0700144LOCAL_SRC_FILES += default_recovery_ui.c
Koushik K. Dutta16f0b492010-03-19 14:37:11 -0700145LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -0800146LOCAL_STATIC_LIBRARIES += libamend
Doug Zongker608fa022009-07-15 18:10:28 -0700147LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -0700148LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800149LOCAL_STATIC_LIBRARIES += libstdc++ libc
150
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800151include $(BUILD_EXECUTABLE)
152
Koushik Dutta852bb422010-07-24 11:18:00 -0700153RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -0700154
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700155# nc is provided by external/netcat
156SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
157$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
158$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
159 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
160 @mkdir -p $(dir $@)
161 @rm -rf $@
162 $(hide) ln -sf $(RECOVERY_BINARY) $@
163
164ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
165
166# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700167BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700168SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
169$(SYMLINKS): BUSYBOX_BINARY := busybox
170$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
171 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
172 @mkdir -p $(dir $@)
173 @rm -rf $@
174 $(hide) ln -sf $(BUSYBOX_BINARY) $@
175
176ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
177
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700178include $(CLEAR_VARS)
179LOCAL_MODULE := nandroid-md5.sh
180LOCAL_MODULE_TAGS := eng
181LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
182LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
183LOCAL_SRC_FILES := nandroid-md5.sh
184include $(BUILD_PREBUILT)
185
Koushik Duttafd1579b2010-05-01 12:46:55 -0700186include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700187LOCAL_MODULE := killrecovery.sh
188LOCAL_MODULE_TAGS := eng
189LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
190LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
191LOCAL_SRC_FILES := killrecovery.sh
192include $(BUILD_PREBUILT)
193
Doug Zongker73ae31c2009-12-09 17:01:45 -0800194include $(CLEAR_VARS)
195
196LOCAL_SRC_FILES := verifier_test.c verifier.c
197
198LOCAL_MODULE := verifier_test
199
200LOCAL_FORCE_STATIC_EXECUTABLE := true
201
202LOCAL_MODULE_TAGS := tests
203
204LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
205
206include $(BUILD_EXECUTABLE)
207
208
Koushik Duttad823d5f2010-07-01 08:21:02 -0700209include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700210include $(commands_recovery_local_path)/bmlutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700211include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800212include $(commands_recovery_local_path)/minzip/Android.mk
213include $(commands_recovery_local_path)/mtdutils/Android.mk
214include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700215include $(commands_recovery_local_path)/edify/Android.mk
216include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800217include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700218include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800219commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700220
221endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800222endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700223