blob: 1f97ed013e860c3f6bdca58a341b0387cf1620a1 [file] [log] [blame]
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -08001LOCAL_PATH := $(call my-dir)
2include $(CLEAR_VARS)
3
4commands_recovery_local_path := $(LOCAL_PATH)
Koushik K. Dutta6060e5c2010-02-11 22:27:06 -08005# LOCAL_CPP_EXTENSION := .c
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -08006
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -08007LOCAL_SRC_FILES := \
Oscar Montemayor05231562009-11-30 08:40:57 -08008 recovery.c \
9 bootloader.c \
Oscar Montemayor05231562009-11-30 08:40:57 -080010 install.c \
11 roots.c \
12 ui.c \
Koushik Dutta19447c02010-11-10 10:40:44 -080013 mounts.c \
codeworkx9c4c8e22011-04-25 11:16:41 -070014 extendedcommands.c \
15 nandroid.c \
Koushik Dutta2457adc2011-06-14 10:57:01 -070016 ../../system/core/toolbox/reboot.c \
Koushik Dutta7f13e152011-09-08 16:55:35 -070017 firmware.c \
Koushik Duttabec09952010-12-19 20:37:57 -080018 edifyscripting.c \
Koushik Dutta0df56f42011-11-16 16:00:35 -080019 setprop.c \
20 default_recovery_ui.c \
Doug Zongker540d57f2011-01-18 13:36:58 -080021 verifier.c
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080022
Koushik Dutta30a937a2011-09-05 21:14:06 -070023ADDITIONAL_RECOVERY_FILES := $(shell echo $$ADDITIONAL_RECOVERY_FILES)
24LOCAL_SRC_FILES += $(ADDITIONAL_RECOVERY_FILES)
25
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080026LOCAL_MODULE := recovery
27
28LOCAL_FORCE_STATIC_EXECUTABLE := true
29
Ricardo Cerqueira45df6992011-07-21 16:31:57 +010030ifdef I_AM_KOUSH
31RECOVERY_NAME := ClockworkMod Recovery
Koushik Dutta30a937a2011-09-05 21:14:06 -070032LOCAL_CFLAGS += -DI_AM_KOUSH
Ricardo Cerqueira45df6992011-07-21 16:31:57 +010033else
34RECOVERY_NAME := CWM-based Recovery
35endif
36
Koushik Duttae9039792011-12-18 11:53:08 -080037RECOVERY_VERSION := $(RECOVERY_NAME) v5.5.0.4
Ricardo Cerqueira45df6992011-07-21 16:31:57 +010038
Koushik Dutta5aaa8232010-07-20 16:23:18 -070039LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Koushik Dutta4e10b132010-09-13 15:14:07 -070040RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070041LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
42
CEnnis91de338e52012-01-14 23:15:17 -050043BOARD_RECOVERY_DEFINES := BOARD_HAS_NO_SELECT_BUTTON BOARD_HAS_SMALL_RECOVERY BOARD_LDPI_RECOVERY BOARD_MDPI_RECOVERY BOARD_HDPI_RECOVERY BOARD_XHDPI_RECOVERY BOARD_UMS_LUNFILE BOARD_RECOVERY_ALWAYS_WIPES BOARD_RECOVERY_HANDLES_MOUNT BOARD_USE_CUSTOM_FONT
Koushik Duttaf4e3a672010-06-09 12:19:41 -070044
Koushik Dutta19447c02010-11-10 10:40:44 -080045$(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
46 $(if $($(board_define)), \
47 $(eval LOCAL_CFLAGS += -D$(board_define)=\"$($(board_define))\") \
48 ) \
49 )
Koushik Duttae17a78d2010-08-29 12:35:10 -070050
Doug Zongker49c73a72010-06-29 17:36:28 -070051LOCAL_STATIC_LIBRARIES :=
52
Doug Zongker49c73a72010-06-29 17:36:28 -070053LOCAL_CFLAGS += -DUSE_EXT4
54LOCAL_C_INCLUDES += system/extras/ext4_utils
55LOCAL_STATIC_LIBRARIES += libext4_utils libz
Doug Zongker49c73a72010-06-29 17:36:28 -070056
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080057# This binary is in the recovery ramdisk, which is otherwise a copy of root.
58# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
59# a (redundant) copy of the binary in /system/bin for user builds.
60# TODO: Build the ramdisk image in a more principled way.
61
62LOCAL_MODULE_TAGS := eng
63
Koushik Duttaadf906d2010-09-26 15:58:35 -070064ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
Koushik Dutta0df56f42011-11-16 16:00:35 -080065 LOCAL_SRC_FILES += default_recovery_keys.c
Doug Zongkerddd6a282009-06-09 12:22:33 -070066else
Koushik Duttaadf906d2010-09-26 15:58:35 -070067 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Doug Zongkerddd6a282009-06-09 12:22:33 -070068endif
Koushik Dutta19447c02010-11-10 10:40:44 -080069
Doug Zongkerd4208f92010-09-20 12:16:13 -070070LOCAL_STATIC_LIBRARIES += libext4_utils libz
Koushik Duttadf1e4062010-12-18 17:42:31 -080071LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
72
Koushik Dutta0df56f42011-11-16 16:00:35 -080073LOCAL_STATIC_LIBRARIES += libedify libbusybox libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image
codeworkx9c4c8e22011-04-25 11:16:41 -070074
Koushik Dutta50822992011-06-08 19:03:27 -070075LOCAL_STATIC_LIBRARIES += libcrecovery libflashutils libmtdutils libmmcutils libbmlutils
codeworkx9c4c8e22011-04-25 11:16:41 -070076
77ifeq ($(BOARD_USES_BML_OVER_MTD),true)
78LOCAL_STATIC_LIBRARIES += libbml_over_mtd
79endif
Koushik Dutta19447c02010-11-10 10:40:44 -080080
Doug Zongker19faefa2009-03-27 17:06:24 -070081LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080082LOCAL_STATIC_LIBRARIES += libstdc++ libc
83
Doug Zongkerd4208f92010-09-20 12:16:13 -070084LOCAL_C_INCLUDES += system/extras/ext4_utils
85
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080086include $(BUILD_EXECUTABLE)
87
Koushik Dutta2e854222011-10-04 16:33:30 -070088RECOVERY_LINKS := edify busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot volume setprop
Koushik Dutta5aaa8232010-07-20 16:23:18 -070089
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070090# nc is provided by external/netcat
Koushik Duttadf1e4062010-12-18 17:42:31 -080091RECOVERY_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
92$(RECOVERY_SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
93$(RECOVERY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070094 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
95 @mkdir -p $(dir $@)
96 @rm -rf $@
97 $(hide) ln -sf $(RECOVERY_BINARY) $@
98
Koushik Duttadf1e4062010-12-18 17:42:31 -080099ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_SYMLINKS)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700100
101# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700102BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik Dutta0e961cd2011-06-13 19:51:00 -0700103ifndef BOARD_HAS_SMALL_RECOVERY
Koushik Duttab4261d92011-06-27 17:54:16 -0700104exclude := tune2fs
105ifeq ($(BOARD_HAS_LARGE_FILESYSTEM),true)
106exclude += mke2fs
107endif
Koushik Dutta0e961cd2011-06-13 19:51:00 -0700108endif
Koushik Duttadf1e4062010-12-18 17:42:31 -0800109RECOVERY_BUSYBOX_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
110$(RECOVERY_BUSYBOX_SYMLINKS): BUSYBOX_BINARY := busybox
111$(RECOVERY_BUSYBOX_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700112 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
113 @mkdir -p $(dir $@)
114 @rm -rf $@
115 $(hide) ln -sf $(BUSYBOX_BINARY) $@
116
Koushik Duttaa64c6972011-11-27 14:07:29 -0800117ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_BUSYBOX_SYMLINKS)
118
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700119include $(CLEAR_VARS)
120LOCAL_MODULE := nandroid-md5.sh
Koushik Duttaa64c6972011-11-27 14:07:29 -0800121LOCAL_MODULE_TAGS := optional
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700122LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
123LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
124LOCAL_SRC_FILES := nandroid-md5.sh
125include $(BUILD_PREBUILT)
126
Koushik Duttafd1579b2010-05-01 12:46:55 -0700127include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700128LOCAL_MODULE := killrecovery.sh
Koushik Duttaa64c6972011-11-27 14:07:29 -0800129LOCAL_MODULE_TAGS := optional
Koushik Duttacdb63352010-06-09 15:49:44 -0700130LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
131LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
132LOCAL_SRC_FILES := killrecovery.sh
133include $(BUILD_PREBUILT)
Doug Zongker73ae31c2009-12-09 17:01:45 -0800134
135include $(CLEAR_VARS)
136
137LOCAL_SRC_FILES := verifier_test.c verifier.c
138
139LOCAL_MODULE := verifier_test
140
141LOCAL_FORCE_STATIC_EXECUTABLE := true
142
143LOCAL_MODULE_TAGS := tests
144
145LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
146
147include $(BUILD_EXECUTABLE)
148
Koushik Duttab5a36a02010-09-13 14:33:15 -0700149include $(commands_recovery_local_path)/bmlutils/Android.mk
Koushik Dutta19447c02010-11-10 10:40:44 -0800150include $(commands_recovery_local_path)/flashutils/Android.mk
Koushik Dutta50822992011-06-08 19:03:27 -0700151include $(commands_recovery_local_path)/libcrecovery/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700152include $(commands_recovery_local_path)/minui/Android.mk
Hristo Bojinovdb314d62010-08-02 10:29:49 -0700153include $(commands_recovery_local_path)/minelf/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800154include $(commands_recovery_local_path)/minzip/Android.mk
155include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700156include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800157include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700158include $(commands_recovery_local_path)/edify/Android.mk
159include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800160include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700161include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800162commands_recovery_local_path :=