blob: be4c66829fd6882827de7d0645a23f997e03088b [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
Koushik Dutta18e3f622012-01-26 16:49:33 -080043ifneq ($(BOARD_USE_CUSTOM_RECOVERY_FONT),)
44 BOARD_RECOVERY_CHAR_WIDTH := $(shell echo $(BOARD_USE_CUSTOM_RECOVERY_FONT) | cut -d _ -f 2 | cut -d . -f 1 | cut -d x -f 1)
45 BOARD_RECOVERY_CHAR_HEIGHT := $(shell echo $(BOARD_USE_CUSTOM_RECOVERY_FONT) | cut -d _ -f 2 | cut -d . -f 1 | cut -d x -f 2)
46else
47 BOARD_RECOVERY_CHAR_WIDTH := 10
48 BOARD_RECOVERY_CHAR_HEIGHT := 18
49endif
50LOCAL_CFLAGS += -DBOARD_RECOVERY_CHAR_WIDTH=$(BOARD_RECOVERY_CHAR_WIDTH) -DBOARD_RECOVERY_CHAR_HEIGHT=$(BOARD_RECOVERY_CHAR_HEIGHT)
51
Koushik Duttaa4659622012-01-30 00:49:43 -080052BOARD_RECOVERY_DEFINES := BOARD_HAS_NO_SELECT_BUTTON BOARD_UMS_LUNFILE BOARD_RECOVERY_ALWAYS_WIPES BOARD_RECOVERY_HANDLES_MOUNT BOARD_TOUCH_RECOVERY
Koushik Duttaf4e3a672010-06-09 12:19:41 -070053
Koushik Dutta19447c02010-11-10 10:40:44 -080054$(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
55 $(if $($(board_define)), \
56 $(eval LOCAL_CFLAGS += -D$(board_define)=\"$($(board_define))\") \
57 ) \
58 )
Koushik Duttae17a78d2010-08-29 12:35:10 -070059
Doug Zongker49c73a72010-06-29 17:36:28 -070060LOCAL_STATIC_LIBRARIES :=
61
Doug Zongker49c73a72010-06-29 17:36:28 -070062LOCAL_CFLAGS += -DUSE_EXT4
63LOCAL_C_INCLUDES += system/extras/ext4_utils
64LOCAL_STATIC_LIBRARIES += libext4_utils libz
Doug Zongker49c73a72010-06-29 17:36:28 -070065
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080066# This binary is in the recovery ramdisk, which is otherwise a copy of root.
67# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
68# a (redundant) copy of the binary in /system/bin for user builds.
69# TODO: Build the ramdisk image in a more principled way.
70
71LOCAL_MODULE_TAGS := eng
72
Koushik Duttaadf906d2010-09-26 15:58:35 -070073ifeq ($(BOARD_CUSTOM_RECOVERY_KEYMAPPING),)
Koushik Dutta0df56f42011-11-16 16:00:35 -080074 LOCAL_SRC_FILES += default_recovery_keys.c
Doug Zongkerddd6a282009-06-09 12:22:33 -070075else
Koushik Duttaadf906d2010-09-26 15:58:35 -070076 LOCAL_SRC_FILES += $(BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Doug Zongkerddd6a282009-06-09 12:22:33 -070077endif
Koushik Dutta19447c02010-11-10 10:40:44 -080078
Doug Zongkerd4208f92010-09-20 12:16:13 -070079LOCAL_STATIC_LIBRARIES += libext4_utils libz
Koushik Duttadf1e4062010-12-18 17:42:31 -080080LOCAL_STATIC_LIBRARIES += libminzip libunz libmincrypt
81
Koushik Dutta0df56f42011-11-16 16:00:35 -080082LOCAL_STATIC_LIBRARIES += libedify libbusybox libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image
codeworkx9c4c8e22011-04-25 11:16:41 -070083
Koushik Dutta50822992011-06-08 19:03:27 -070084LOCAL_STATIC_LIBRARIES += libcrecovery libflashutils libmtdutils libmmcutils libbmlutils
codeworkx9c4c8e22011-04-25 11:16:41 -070085
86ifeq ($(BOARD_USES_BML_OVER_MTD),true)
87LOCAL_STATIC_LIBRARIES += libbml_over_mtd
88endif
Koushik Dutta19447c02010-11-10 10:40:44 -080089
Doug Zongker19faefa2009-03-27 17:06:24 -070090LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080091LOCAL_STATIC_LIBRARIES += libstdc++ libc
92
Doug Zongkerd4208f92010-09-20 12:16:13 -070093LOCAL_C_INCLUDES += system/extras/ext4_utils
94
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080095include $(BUILD_EXECUTABLE)
96
Koushik Dutta2e854222011-10-04 16:33:30 -070097RECOVERY_LINKS := edify busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid reboot volume setprop
Koushik Dutta5aaa8232010-07-20 16:23:18 -070098
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070099# nc is provided by external/netcat
Koushik Duttadf1e4062010-12-18 17:42:31 -0800100RECOVERY_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
101$(RECOVERY_SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
102$(RECOVERY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700103 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
104 @mkdir -p $(dir $@)
105 @rm -rf $@
106 $(hide) ln -sf $(RECOVERY_BINARY) $@
107
Koushik Duttadf1e4062010-12-18 17:42:31 -0800108ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_SYMLINKS)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700109
110# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700111BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik Duttaa4659622012-01-30 00:49:43 -0800112exclude := tune2fs mke2fs
Koushik Duttadf1e4062010-12-18 17:42:31 -0800113RECOVERY_BUSYBOX_SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
114$(RECOVERY_BUSYBOX_SYMLINKS): BUSYBOX_BINARY := busybox
115$(RECOVERY_BUSYBOX_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700116 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
117 @mkdir -p $(dir $@)
118 @rm -rf $@
119 $(hide) ln -sf $(BUSYBOX_BINARY) $@
120
Koushik Duttaa64c6972011-11-27 14:07:29 -0800121ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_BUSYBOX_SYMLINKS)
122
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700123include $(CLEAR_VARS)
124LOCAL_MODULE := nandroid-md5.sh
Koushik Duttaa64c6972011-11-27 14:07:29 -0800125LOCAL_MODULE_TAGS := optional
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700126LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
127LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
128LOCAL_SRC_FILES := nandroid-md5.sh
129include $(BUILD_PREBUILT)
130
Koushik Duttafd1579b2010-05-01 12:46:55 -0700131include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700132LOCAL_MODULE := killrecovery.sh
Koushik Duttaa64c6972011-11-27 14:07:29 -0800133LOCAL_MODULE_TAGS := optional
Koushik Duttacdb63352010-06-09 15:49:44 -0700134LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
135LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
136LOCAL_SRC_FILES := killrecovery.sh
137include $(BUILD_PREBUILT)
Doug Zongker73ae31c2009-12-09 17:01:45 -0800138
139include $(CLEAR_VARS)
140
141LOCAL_SRC_FILES := verifier_test.c verifier.c
142
143LOCAL_MODULE := verifier_test
144
145LOCAL_FORCE_STATIC_EXECUTABLE := true
146
147LOCAL_MODULE_TAGS := tests
148
149LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
150
151include $(BUILD_EXECUTABLE)
152
Koushik Duttab5a36a02010-09-13 14:33:15 -0700153include $(commands_recovery_local_path)/bmlutils/Android.mk
Koushik Dutta19447c02010-11-10 10:40:44 -0800154include $(commands_recovery_local_path)/flashutils/Android.mk
Koushik Dutta50822992011-06-08 19:03:27 -0700155include $(commands_recovery_local_path)/libcrecovery/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700156include $(commands_recovery_local_path)/minui/Android.mk
Hristo Bojinovdb314d62010-08-02 10:29:49 -0700157include $(commands_recovery_local_path)/minelf/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800158include $(commands_recovery_local_path)/minzip/Android.mk
159include $(commands_recovery_local_path)/mtdutils/Android.mk
Shashank Mittal815ca5d2010-07-27 11:09:19 -0700160include $(commands_recovery_local_path)/mmcutils/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800161include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700162include $(commands_recovery_local_path)/edify/Android.mk
163include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800164include $(commands_recovery_local_path)/applypatch/Android.mk
Koushik Duttaceddcd52010-08-23 16:13:14 -0700165include $(commands_recovery_local_path)/utilities/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800166commands_recovery_local_path :=