blob: 1dc34a5694a9301d0044fc70eb1507c9301aa228 [file] [log] [blame]
preludedrew38058dc2011-01-29 23:30:44 -07001ifneq ($(TARGET_SIMULATOR),true)
2ifeq ($(TARGET_ARCH),arm)
3
4LOCAL_PATH := $(call my-dir)
5include $(CLEAR_VARS)
6
7commands_recovery_local_path := $(LOCAL_PATH)
8# LOCAL_CPP_EXTENSION := .c
9
10LOCAL_SRC_FILES := \
11 recovery.c \
12 bootloader.c \
13 install.c \
14 roots.c \
15 ui.c \
16 verifier.c \
17 encryptedfs_provisioning.c \
18 mounts.c \
19 extendedcommands.c \
20 nandroid.c \
21 reboot.c \
22 edifyscripting.c \
23 setprop.c
24
25LOCAL_MODULE := recovery
26
27LOCAL_FORCE_STATIC_EXECUTABLE := true
28
29RECOVERY_VERSION := ClockworkMod Recovery v3.0.0.5
30LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
31RECOVERY_API_VERSION := 2
32LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
33
34BOARD_RECOVERY_DEFINES := BOARD_HAS_NO_SELECT_BUTTON BOARD_HAS_MTD_CACHE BOARD_HAS_SMALL_RECOVERY BOARD_LDPI_RECOVERY BOARD_RECOVERY_IGNORE_BOOTABLES
35
36$(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
37 $(if $($(board_define)), \
38 $(eval LOCAL_CFLAGS += -D$(board_define)=\"$($(board_define))\") \
39 ) \
40 )
41
42# This binary is in the recovery ramdisk, which is otherwise a copy of root.
43# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
44# a (redundant) copy of the binary in /system/bin for user builds.
45# TODO: Build the ramdisk image in a more principled way.
46
47LOCAL_MODULE_TAGS := eng
48
49LOCAL_STATIC_LIBRARIES :=
50ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
51 LOCAL_SRC_FILES += default_recovery_ui.c
52else
53 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
54endif
55
56LOCAL_STATIC_LIBRARIES += libext4_utils libz
57LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
58
59LOCAL_STATIC_LIBRARIES += libedify libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image
60LOCAL_STATIC_LIBRARIES += libflashutils libmtdutils libmmcutils libbmlutils
61
62LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
63LOCAL_STATIC_LIBRARIES += libstdc++ libc
64
65LOCAL_C_INCLUDES += system/extras/ext4_utils
66
67include $(BUILD_EXECUTABLE)
68
69RECOVERY_LINKS := edify busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot volume
70
71# nc is provided by external/netcat
72RECOVERY_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
73$(RECOVERY_SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
74$(RECOVERY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
75 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
76 @mkdir -p $(dir $@)
77 @rm -rf $@
78 $(hide) ln -sf $(RECOVERY_BINARY) $@
79
80ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_SYMLINKS)
81
82# Now let's do recovery symlinks
83BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
84RECOVERY_BUSYBOX_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
85$(RECOVERY_BUSYBOX_SYMLINKS): BUSYBOX_BINARY := busybox
86$(RECOVERY_BUSYBOX_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
87 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
88 @mkdir -p $(dir $@)
89 @rm -rf $@
90 $(hide) ln -sf $(BUSYBOX_BINARY) $@
91
92ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_BUSYBOX_SYMLINKS)
93
94include $(CLEAR_VARS)
95LOCAL_MODULE := nandroid-md5.sh
96LOCAL_MODULE_TAGS := eng
97LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
98LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
99LOCAL_SRC_FILES := nandroid-md5.sh
100include $(BUILD_PREBUILT)
101
102include $(CLEAR_VARS)
103LOCAL_MODULE := killrecovery.sh
104LOCAL_MODULE_TAGS := eng
105LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
106LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
107LOCAL_SRC_FILES := killrecovery.sh
108include $(BUILD_PREBUILT)
109
110include $(CLEAR_VARS)
111
112LOCAL_SRC_FILES := verifier_test.c verifier.c
113
114LOCAL_MODULE := verifier_test
115
116LOCAL_FORCE_STATIC_EXECUTABLE := true
117
118LOCAL_MODULE_TAGS := tests
119
120LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
121
122include $(BUILD_EXECUTABLE)
123
124
125include $(commands_recovery_local_path)/bmlutils/Android.mk
126include $(commands_recovery_local_path)/flashutils/Android.mk
127include $(commands_recovery_local_path)/minui/Android.mk
128include $(commands_recovery_local_path)/minzip/Android.mk
129include $(commands_recovery_local_path)/mtdutils/Android.mk
130include $(commands_recovery_local_path)/mmcutils/Android.mk
131include $(commands_recovery_local_path)/tools/Android.mk
132include $(commands_recovery_local_path)/edify/Android.mk
133include $(commands_recovery_local_path)/updater/Android.mk
134include $(commands_recovery_local_path)/applypatch/Android.mk
135include $(commands_recovery_local_path)/utilities/Android.mk
136commands_recovery_local_path :=
137
138endif # TARGET_ARCH == arm
139endif # !TARGET_SIMULATOR
140