blob: 1c575c2f2e33103993dbd921f45d30df789086dc [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
Steve Kondik4123b582010-11-14 03:18:40 -050076LOCAL_STATIC_LIBRARIES += libflashutils libmtdutils libmmcutils libbmlutils
Koushik Dutta19447c02010-11-10 10:40:44 -080077
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -080078LOCAL_STATIC_LIBRARIES += libamend
Koushik Dutta19447c02010-11-10 10:40:44 -080079LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -070080LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080081LOCAL_STATIC_LIBRARIES += libstdc++ libc
82
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080083include $(BUILD_EXECUTABLE)
84
Koushik Dutta852bb422010-07-24 11:18:00 -070085RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -070086
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070087# nc is provided by external/netcat
88SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
89$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
90$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
91 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
92 @mkdir -p $(dir $@)
93 @rm -rf $@
94 $(hide) ln -sf $(RECOVERY_BINARY) $@
95
96ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
97
98# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -070099BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700100SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
101$(SYMLINKS): BUSYBOX_BINARY := busybox
102$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
103 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
104 @mkdir -p $(dir $@)
105 @rm -rf $@
106 $(hide) ln -sf $(BUSYBOX_BINARY) $@
107
108ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
109
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700110include $(CLEAR_VARS)
111LOCAL_MODULE := nandroid-md5.sh
112LOCAL_MODULE_TAGS := eng
113LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
114LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
115LOCAL_SRC_FILES := nandroid-md5.sh
116include $(BUILD_PREBUILT)
117
Koushik Duttafd1579b2010-05-01 12:46:55 -0700118include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700119LOCAL_MODULE := killrecovery.sh
120LOCAL_MODULE_TAGS := eng
121LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
122LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
123LOCAL_SRC_FILES := killrecovery.sh
124include $(BUILD_PREBUILT)
125
Doug Zongker73ae31c2009-12-09 17:01:45 -0800126include $(CLEAR_VARS)
127
128LOCAL_SRC_FILES := verifier_test.c verifier.c
129
130LOCAL_MODULE := verifier_test
131
132LOCAL_FORCE_STATIC_EXECUTABLE := true
133
134LOCAL_MODULE_TAGS := tests
135
136LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
137
138include $(BUILD_EXECUTABLE)
139
140
Koushik Duttad823d5f2010-07-01 08:21:02 -0700141include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700142include $(commands_recovery_local_path)/bmlutils/Android.mk
Koushik Dutta19447c02010-11-10 10:40:44 -0800143include $(commands_recovery_local_path)/flashutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700144include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800145include $(commands_recovery_local_path)/minzip/Android.mk
146include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700147include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800148include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700149include $(commands_recovery_local_path)/edify/Android.mk
150include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800151include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700152include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800153commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700154
155endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800156endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700157