blob: 6779312783ce06f071e59d2a53baf4daad1b183f [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
Koushik Dutta5aaa8232010-07-20 16:23:18 -070030endif
31
Koushik Duttad632c0d2010-08-16 09:22:18 -070032ifdef BOARD_HIJACK_RECOVERY_PATH
33 LOCAL_CFLAGS += -DBOARD_HIJACK_RECOVERY_PATH=\"$(BOARD_HIJACK_RECOVERY_PATH)\"
34endif
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080035
36LOCAL_SRC_FILES += test_roots.c
37
38LOCAL_MODULE := recovery
39
40LOCAL_FORCE_STATIC_EXECUTABLE := true
41
Koushik Dutta134ead72010-12-12 16:54:41 -080042RECOVERY_VERSION := ClockworkMod Recovery v2.5.1.8
Koushik Dutta5aaa8232010-07-20 16:23:18 -070043LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Koushik Dutta4e10b132010-09-13 15:14:07 -070044RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070045LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
46
Koushik Dutta02c36052010-12-12 02:52:44 -080047BOARD_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 BOARD_LDPI_RECOVERY BOARD_RECOVERY_IGNORE_BOOTABLES BOARD_HAS_NO_MISC_PARTITION
Koushik Duttaf4e3a672010-06-09 12:19:41 -070048
Koushik Dutta19447c02010-11-10 10:40:44 -080049$(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
50 $(if $($(board_define)), \
51 $(eval LOCAL_CFLAGS += -D$(board_define)=\"$($(board_define))\") \
52 ) \
53 )
Koushik Duttae17a78d2010-08-29 12:35:10 -070054
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080055# This binary is in the recovery ramdisk, which is otherwise a copy of root.
56# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
57# a (redundant) copy of the binary in /system/bin for user builds.
58# TODO: Build the ramdisk image in a more principled way.
59
60LOCAL_MODULE_TAGS := eng
61
Doug Zongkerddd6a282009-06-09 12:22:33 -070062LOCAL_STATIC_LIBRARIES :=
Koushik Duttaadf906d2010-09-26 15:58:35 -070063ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
Doug Zongkerddd6a282009-06-09 12:22:33 -070064 LOCAL_SRC_FILES += default_recovery_ui.c
65else
Koushik Duttaadf906d2010-09-26 15:58:35 -070066 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Doug Zongkerddd6a282009-06-09 12:22:33 -070067endif
Koushik Dutta19447c02010-11-10 10:40:44 -080068LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image
69
Steve Kondik4123b582010-11-14 03:18:40 -050070LOCAL_STATIC_LIBRARIES += libflashutils libmtdutils libmmcutils libbmlutils
Koushik Dutta19447c02010-11-10 10:40:44 -080071
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -080072LOCAL_STATIC_LIBRARIES += libamend
Koushik Dutta19447c02010-11-10 10:40:44 -080073LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -070074LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080075LOCAL_STATIC_LIBRARIES += libstdc++ libc
76
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080077include $(BUILD_EXECUTABLE)
78
Koushik Dutta852bb422010-07-24 11:18:00 -070079RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot
Koushik Dutta5aaa8232010-07-20 16:23:18 -070080
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070081# nc is provided by external/netcat
82SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
83$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
84$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
85 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
86 @mkdir -p $(dir $@)
87 @rm -rf $@
88 $(hide) ln -sf $(RECOVERY_BINARY) $@
89
90ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
91
92# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -070093BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070094SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
95$(SYMLINKS): BUSYBOX_BINARY := busybox
96$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
97 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
98 @mkdir -p $(dir $@)
99 @rm -rf $@
100 $(hide) ln -sf $(BUSYBOX_BINARY) $@
101
102ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
103
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700104include $(CLEAR_VARS)
105LOCAL_MODULE := nandroid-md5.sh
106LOCAL_MODULE_TAGS := eng
107LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
108LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
109LOCAL_SRC_FILES := nandroid-md5.sh
110include $(BUILD_PREBUILT)
111
Koushik Duttafd1579b2010-05-01 12:46:55 -0700112include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700113LOCAL_MODULE := killrecovery.sh
114LOCAL_MODULE_TAGS := eng
115LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
116LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
117LOCAL_SRC_FILES := killrecovery.sh
118include $(BUILD_PREBUILT)
119
Doug Zongker73ae31c2009-12-09 17:01:45 -0800120include $(CLEAR_VARS)
121
122LOCAL_SRC_FILES := verifier_test.c verifier.c
123
124LOCAL_MODULE := verifier_test
125
126LOCAL_FORCE_STATIC_EXECUTABLE := true
127
128LOCAL_MODULE_TAGS := tests
129
130LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
131
132include $(BUILD_EXECUTABLE)
133
134
Koushik Duttad823d5f2010-07-01 08:21:02 -0700135include $(commands_recovery_local_path)/amend/Android.mk
Koushik Duttab5a36a02010-09-13 14:33:15 -0700136include $(commands_recovery_local_path)/bmlutils/Android.mk
Koushik Dutta19447c02010-11-10 10:40:44 -0800137include $(commands_recovery_local_path)/flashutils/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700138include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800139include $(commands_recovery_local_path)/minzip/Android.mk
140include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700141include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800142include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700143include $(commands_recovery_local_path)/edify/Android.mk
144include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800145include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700146include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800147commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700148
149endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800150endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700151