blob: 13b78f5561db2ac081b4da712b920547a25a5726 [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 Duttaceddcd52010-08-23 16:13:14 -070047RECOVERY_VERSION := ClockworkMod Recovery v2.5.0.8
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
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800133# This binary is in the recovery ramdisk, which is otherwise a copy of root.
134# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
135# a (redundant) copy of the binary in /system/bin for user builds.
136# TODO: Build the ramdisk image in a more principled way.
137
138LOCAL_MODULE_TAGS := eng
139
Koushik Duttaf2954b52010-06-30 23:27:26 -0700140LOCAL_SRC_FILES += default_recovery_ui.c
Koushik K. Dutta16f0b492010-03-19 14:37:11 -0700141LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -0800142LOCAL_STATIC_LIBRARIES += libamend
Doug Zongker608fa022009-07-15 18:10:28 -0700143LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -0700144LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800145LOCAL_STATIC_LIBRARIES += libstdc++ libc
146
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800147include $(BUILD_EXECUTABLE)
148
Koushik Dutta852bb422010-07-24 11:18:00 -0700149RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -0700150
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700151# nc is provided by external/netcat
152SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
153$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
154$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
155 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
156 @mkdir -p $(dir $@)
157 @rm -rf $@
158 $(hide) ln -sf $(RECOVERY_BINARY) $@
159
160ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
161
162# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700163BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700164SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
165$(SYMLINKS): BUSYBOX_BINARY := busybox
166$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
167 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
168 @mkdir -p $(dir $@)
169 @rm -rf $@
170 $(hide) ln -sf $(BUSYBOX_BINARY) $@
171
172ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
173
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700174include $(CLEAR_VARS)
175LOCAL_MODULE := nandroid-md5.sh
176LOCAL_MODULE_TAGS := eng
177LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
178LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
179LOCAL_SRC_FILES := nandroid-md5.sh
180include $(BUILD_PREBUILT)
181
Koushik Duttafd1579b2010-05-01 12:46:55 -0700182include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700183LOCAL_MODULE := killrecovery.sh
184LOCAL_MODULE_TAGS := eng
185LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
186LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
187LOCAL_SRC_FILES := killrecovery.sh
188include $(BUILD_PREBUILT)
189
Doug Zongker73ae31c2009-12-09 17:01:45 -0800190include $(CLEAR_VARS)
191
192LOCAL_SRC_FILES := verifier_test.c verifier.c
193
194LOCAL_MODULE := verifier_test
195
196LOCAL_FORCE_STATIC_EXECUTABLE := true
197
198LOCAL_MODULE_TAGS := tests
199
200LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
201
202include $(BUILD_EXECUTABLE)
203
204
Koushik Duttad823d5f2010-07-01 08:21:02 -0700205include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700206include $(commands_recovery_local_path)/bmlutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700207include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800208include $(commands_recovery_local_path)/minzip/Android.mk
209include $(commands_recovery_local_path)/mtdutils/Android.mk
210include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700211include $(commands_recovery_local_path)/edify/Android.mk
212include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800213include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700214include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800215commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700216
217endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800218endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700219