blob: 817bef8bf86d9e80b260767bf3d0e3a27e861a74 [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 Dutta19447c02010-11-10 10:40:44 -080011 mounts.c \
Koushik K. Duttab4bb02b2010-04-02 13:16:06 -070012 extendedcommands.c \
13 nandroid.c \
Koushik K. Dutta4c1eed22010-02-11 18:59:58 -080014 legacy.c \
Koushik K. Dutta6060e5c2010-02-11 22:27:06 -080015 commands.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080016 recovery.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080017 install.c \
18 roots.c \
19 ui.c \
20 verifier.c
21
Koushik Dutta852bb422010-07-24 11:18:00 -070022LOCAL_SRC_FILES += \
23 reboot.c \
24 setprop.c
25
Koushik Dutta5aaa8232010-07-20 16:23:18 -070026ifndef BOARD_HAS_NO_MISC_PARTITION
27 LOCAL_SRC_FILES += \
28 firmware.c \
29 bootloader.c
30else
31 LOCAL_CFLAGS += -DBOARD_HAS_NO_MISC_PARTITION
32endif
33
Koushik Dutta5aaa8232010-07-20 16:23:18 -070034ifdef BOARD_RECOVERY_IGNORE_BOOTABLES
Koushik Duttad4060c32010-07-22 20:14:44 -070035 LOCAL_CFLAGS += -DBOARD_RECOVERY_IGNORE_BOOTABLES
Koushik Dutta5aaa8232010-07-20 16:23:18 -070036endif
37
Koushik Duttad632c0d2010-08-16 09:22:18 -070038ifdef BOARD_HIJACK_RECOVERY_PATH
39 LOCAL_CFLAGS += -DBOARD_HIJACK_RECOVERY_PATH=\"$(BOARD_HIJACK_RECOVERY_PATH)\"
40endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080041
42LOCAL_SRC_FILES += test_roots.c
43
44LOCAL_MODULE := recovery
45
46LOCAL_FORCE_STATIC_EXECUTABLE := true
47
Koushik Duttafef77c02010-11-09 20:03:42 -080048RECOVERY_VERSION := ClockworkMod Recovery v2.5.1.2
Koushik Dutta5aaa8232010-07-20 16:23:18 -070049LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Koushik Dutta4e10b132010-09-13 15:14:07 -070050RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070051LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
52
Koushik Dutta19447c02010-11-10 10:40:44 -080053BOARD_RECOVERY_DEFINES := BOARD_HAS_NO_SELECT_BUTTON BOARD_SDCARD_DEVICE_PRIMARY BOARD_SDCARD_DEVICE_SECONDARY BOARD_SDEXT_DEVICE BOARD_SDEXT_FILESYSTEM BOARD_DATA_DEVICE BOARD_DATA_FILESYSTEM BOARD_DATADATA_DEVICE BOARD_DATADATA_FILESYSTEM BOARD_CACHE_DEVICE BOARD_CACHE_FILESYSTEM BOARD_SYSTEM_DEVICE BOARD_SYSTEM_FILESYSTEM BOARD_HAS_DATADATA BOARD_DATA_FILESYSTEM_OPTIONS BOARD_DATADATA_FILESYSTEM_OPTIONS BOARD_CACHE_FILESYSTEM_OPTIONS BOARD_SYSTEM_FILESYSTEM_OPTIONS BOARD_HAS_MTD_CACHE BOARD_USES_BMLUTILS BOARD_USES_MMCUTILS BOARD_HAS_SMALL_RECOVERY
Koushik Duttaf4e3a672010-06-09 12:19:41 -070054
Koushik Dutta19447c02010-11-10 10:40:44 -080055$(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
56 $(if $($(board_define)), \
57 $(eval LOCAL_CFLAGS += -D$(board_define)=\"$($(board_define))\") \
58 ) \
59 )
Koushik Duttae17a78d2010-08-29 12:35:10 -070060
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080061# This binary is in the recovery ramdisk, which is otherwise a copy of root.
62# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
63# a (redundant) copy of the binary in /system/bin for user builds.
64# TODO: Build the ramdisk image in a more principled way.
65
66LOCAL_MODULE_TAGS := eng
67
Doug Zongkerddd6a282009-06-09 12:22:33 -070068LOCAL_STATIC_LIBRARIES :=
Koushik Duttaadf906d2010-09-26 15:58:35 -070069ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
Doug Zongkerddd6a282009-06-09 12:22:33 -070070 LOCAL_SRC_FILES += default_recovery_ui.c
71else
Koushik Duttaadf906d2010-09-26 15:58:35 -070072 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Doug Zongkerddd6a282009-06-09 12:22:33 -070073endif
Koushik Dutta19447c02010-11-10 10:40:44 -080074LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image
75
76ifdef BOARD_USES_BMLUTILS
77 BOARD_FLASH_LIBRARY := libbmlutils
78else ifdef BOARD_USES_MMCUTILS
79 BOARD_FLASH_LIBRARY := libmmcutils
80else
81 BOARD_FLASH_LIBRARY := libmtdutils
82endif
83
84LOCAL_STATIC_LIBRARIES += $(BOARD_FLASH_LIBRARY)
85
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -080086LOCAL_STATIC_LIBRARIES += libamend
Koushik Dutta19447c02010-11-10 10:40:44 -080087LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -070088LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080089LOCAL_STATIC_LIBRARIES += libstdc++ libc
90
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080091include $(BUILD_EXECUTABLE)
92
Koushik Dutta852bb422010-07-24 11:18:00 -070093RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -070094
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070095# nc is provided by external/netcat
96SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
97$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
98$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
99 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
100 @mkdir -p $(dir $@)
101 @rm -rf $@
102 $(hide) ln -sf $(RECOVERY_BINARY) $@
103
104ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
105
106# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700107BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700108SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
109$(SYMLINKS): BUSYBOX_BINARY := busybox
110$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
111 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
112 @mkdir -p $(dir $@)
113 @rm -rf $@
114 $(hide) ln -sf $(BUSYBOX_BINARY) $@
115
116ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
117
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700118include $(CLEAR_VARS)
119LOCAL_MODULE := nandroid-md5.sh
120LOCAL_MODULE_TAGS := eng
121LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
122LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
123LOCAL_SRC_FILES := nandroid-md5.sh
124include $(BUILD_PREBUILT)
125
Koushik Duttafd1579b2010-05-01 12:46:55 -0700126include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700127LOCAL_MODULE := killrecovery.sh
128LOCAL_MODULE_TAGS := eng
129LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
130LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
131LOCAL_SRC_FILES := killrecovery.sh
132include $(BUILD_PREBUILT)
133
Doug Zongker73ae31c2009-12-09 17:01:45 -0800134include $(CLEAR_VARS)
135
136LOCAL_SRC_FILES := verifier_test.c verifier.c
137
138LOCAL_MODULE := verifier_test
139
140LOCAL_FORCE_STATIC_EXECUTABLE := true
141
142LOCAL_MODULE_TAGS := tests
143
144LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
145
146include $(BUILD_EXECUTABLE)
147
148
Koushik Duttad823d5f2010-07-01 08:21:02 -0700149include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700150include $(commands_recovery_local_path)/bmlutils/Android.mk
Koushik Dutta19447c02010-11-10 10:40:44 -0800151include $(commands_recovery_local_path)/flashutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700152include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800153include $(commands_recovery_local_path)/minzip/Android.mk
154include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700155include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800156include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700157include $(commands_recovery_local_path)/edify/Android.mk
158include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800159include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700160include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800161commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700162
163endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800164endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700165