blob: d6bfb190ce25ea306d42ad81b330dce877fd159b [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
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080037LOCAL_SRC_FILES += test_roots.c
38
39LOCAL_MODULE := recovery
40
41LOCAL_FORCE_STATIC_EXECUTABLE := true
42
Koushik Dutta852bb422010-07-24 11:18:00 -070043RECOVERY_VERSION := ClockworkMod Recovery v2.5.0.4
Koushik Dutta5aaa8232010-07-20 16:23:18 -070044LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Koushik K. Dutta581bd862010-03-20 01:08:55 -070045RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070046LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
47
Koushik Dutta387080a2010-06-09 12:23:32 -070048ifeq ($(BOARD_HAS_NO_SELECT_BUTTON),true)
Koushik Duttaf4e3a672010-06-09 12:19:41 -070049 LOCAL_CFLAGS += -DKEY_POWER_IS_SELECT_ITEM
50endif
51
Koushik Dutta14239d22010-06-14 15:02:48 -070052ifdef BOARD_SDCARD_DEVICE_PRIMARY
53 LOCAL_CFLAGS += -DSDCARD_DEVICE_PRIMARY=\"$(BOARD_SDCARD_DEVICE_PRIMARY)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070054endif
55
Koushik Dutta14239d22010-06-14 15:02:48 -070056ifdef BOARD_SDCARD_DEVICE_SECONDARY
57 LOCAL_CFLAGS += -DSDCARD_DEVICE_SECONDARY=\"$(BOARD_SDCARD_DEVICE_SECONDARY)\"
Koushik Dutta59bcc7e2010-06-11 15:48:49 -070058endif
59
Koushik Dutta14239d22010-06-14 15:02:48 -070060ifdef BOARD_SDEXT_DEVICE
61 LOCAL_CFLAGS += -DSDEXT_DEVICE=\"$(BOARD_SDEXT_DEVICE)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070062endif
63
Koushik Dutta14239d22010-06-14 15:02:48 -070064ifdef BOARD_SDEXT_FILESYSTEM
Koushik Duttac2908612010-06-19 08:42:59 -070065 LOCAL_CFLAGS += -DSDEXT_FILESYSTEM=\"$(BOARD_SDEXT_FILESYSTEM)\"
Koushik Dutta14239d22010-06-14 15:02:48 -070066endif
67
68ifdef BOARD_DATA_DEVICE
69 LOCAL_CFLAGS += -DDATA_DEVICE=\"$(BOARD_DATA_DEVICE)\"
70endif
71
72ifdef BOARD_DATA_FILESYSTEM
73 LOCAL_CFLAGS += -DDATA_FILESYSTEM=\"$(BOARD_DATA_FILESYSTEM)\"
74endif
75
Koushik Dutta5aaa8232010-07-20 16:23:18 -070076ifdef BOARD_DATADATA_DEVICE
77 LOCAL_CFLAGS += -DDATADATA_DEVICE=\"$(BOARD_DATADATA_DEVICE)\"
78endif
79
80ifdef BOARD_DATADATA_FILESYSTEM
81 LOCAL_CFLAGS += -DDATADATA_FILESYSTEM=\"$(BOARD_DATADATA_FILESYSTEM)\"
82endif
83
Koushik Dutta14239d22010-06-14 15:02:48 -070084ifdef BOARD_CACHE_DEVICE
85 LOCAL_CFLAGS += -DCACHE_DEVICE=\"$(BOARD_CACHE_DEVICE)\"
86endif
87
88ifdef BOARD_CACHE_FILESYSTEM
89 LOCAL_CFLAGS += -DCACHE_FILESYSTEM=\"$(BOARD_CACHE_FILESYSTEM)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070090endif
91
Koushik Dutta5aaa8232010-07-20 16:23:18 -070092ifdef BOARD_SYSTEM_DEVICE
93 LOCAL_CFLAGS += -DSYSTEM_DEVICE=\"$(BOARD_SYSTEM_DEVICE)\"
94endif
95
96ifdef BOARD_SYSTEM_FILESYSTEM
97 LOCAL_CFLAGS += -DSYSTEM_FILESYSTEM=\"$(BOARD_SYSTEM_FILESYSTEM)\"
98endif
99
Koushik Dutta8b5e1852010-06-14 22:04:22 -0700100ifdef BOARD_HAS_DATADATA
101 LOCAL_CFLAGS += -DHAS_DATADATA
102endif
103
Koushik Duttad4060c32010-07-22 20:14:44 -0700104ifdef BOARD_DATA_FILESYSTEM_OPTIONS
105 LOCAL_CFLAGS += -DDATA_FILESYSTEM_OPTIONS=\"$(BOARD_DATA_FILESYSTEM_OPTIONS)\"
106endif
107
108ifdef BOARD_DATADATA_FILESYSTEM_OPTIONS
109 LOCAL_CFLAGS += -DDATADATA_FILESYSTEM_OPTIONS=\"$(BOARD_DATADATA_FILESYSTEM_OPTIONS)\"
110endif
111
112ifdef BOARD_CACHE_FILESYSTEM_OPTIONS
113 LOCAL_CFLAGS += -DCACHE_FILESYSTEM_OPTIONS=\"$(BOARD_CACHE_FILESYSTEM_OPTIONS)\"
114endif
115
116ifdef BOARD_SYSTEM_FILESYSTEM_OPTIONS
117 LOCAL_CFLAGS += -DSYSTEM_FILESYSTEM_OPTIONS=\"$(BOARD_SYSTEM_FILESYSTEM_OPTIONS)\"
118endif
119
120ifdef BOARD_HAS_MTD_CACHE
121 LOCAL_CFLAGS += -DBOARD_HAS_MTD_CACHE
122endif
123
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800124# This binary is in the recovery ramdisk, which is otherwise a copy of root.
125# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
126# a (redundant) copy of the binary in /system/bin for user builds.
127# TODO: Build the ramdisk image in a more principled way.
128
129LOCAL_MODULE_TAGS := eng
130
Doug Zongkerddd6a282009-06-09 12:22:33 -0700131LOCAL_STATIC_LIBRARIES :=
132ifeq ($(TARGET_RECOVERY_UI_LIB),)
133 LOCAL_SRC_FILES += default_recovery_ui.c
134else
135 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
136endif
Koushik K. Dutta16f0b492010-03-19 14:37:11 -0700137LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -0800138LOCAL_STATIC_LIBRARIES += libamend
Doug Zongker608fa022009-07-15 18:10:28 -0700139LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -0700140LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800141LOCAL_STATIC_LIBRARIES += libstdc++ libc
142
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800143include $(BUILD_EXECUTABLE)
144
Koushik Dutta852bb422010-07-24 11:18:00 -0700145RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -0700146
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700147# nc is provided by external/netcat
148SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
149$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
150$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
151 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
152 @mkdir -p $(dir $@)
153 @rm -rf $@
154 $(hide) ln -sf $(RECOVERY_BINARY) $@
155
156ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
157
158# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700159BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700160SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
161$(SYMLINKS): BUSYBOX_BINARY := busybox
162$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
163 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
164 @mkdir -p $(dir $@)
165 @rm -rf $@
166 $(hide) ln -sf $(BUSYBOX_BINARY) $@
167
168ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
169
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700170include $(CLEAR_VARS)
171LOCAL_MODULE := nandroid-md5.sh
172LOCAL_MODULE_TAGS := eng
173LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
174LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
175LOCAL_SRC_FILES := nandroid-md5.sh
176include $(BUILD_PREBUILT)
177
Koushik Duttafd1579b2010-05-01 12:46:55 -0700178include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700179LOCAL_MODULE := killrecovery.sh
180LOCAL_MODULE_TAGS := eng
181LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
182LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
183LOCAL_SRC_FILES := killrecovery.sh
184include $(BUILD_PREBUILT)
185
Koushik K. Dutta4c1eed22010-02-11 18:59:58 -0800186include $(commands_recovery_local_path)/amend/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700187include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800188include $(commands_recovery_local_path)/minzip/Android.mk
189include $(commands_recovery_local_path)/mtdutils/Android.mk
190include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700191include $(commands_recovery_local_path)/edify/Android.mk
192include $(commands_recovery_local_path)/updater/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800193commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700194
195endif # TARGET_ARCH == arm
196endif # !TARGET_SIMULATOR
197