blob: 19f6b841878e81bfd9980c87dd6468ad9a02d3df [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 K. Duttab4bb02b2010-04-02 13:16:06 -070011 extendedcommands.c \
12 nandroid.c \
Koushik K. Dutta4c1eed22010-02-11 18:59:58 -080013 legacy.c \
Koushik K. Dutta6060e5c2010-02-11 22:27:06 -080014 commands.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080015 recovery.c \
16 bootloader.c \
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080017 firmware.c \
18 install.c \
19 roots.c \
20 ui.c \
21 verifier.c
22
23LOCAL_SRC_FILES += test_roots.c
24
25LOCAL_MODULE := recovery
26
27LOCAL_FORCE_STATIC_EXECUTABLE := true
28
Koushik Duttaf4e3a672010-06-09 12:19:41 -070029RECOVERY_VERSION := ClockworkMod Recovery v1.8.1.6
Koushik K. Dutta581bd862010-03-20 01:08:55 -070030LOCAL_CFLAGS := -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
31RECOVERY_API_VERSION := 2
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070032LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
33
Koushik Duttaf4e3a672010-06-09 12:19:41 -070034ifeq $(BOARD_HAS_NO_SELECT_BUTTON,true)
35 LOCAL_CFLAGS += -DKEY_POWER_IS_SELECT_ITEM
36endif
37
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080038# This binary is in the recovery ramdisk, which is otherwise a copy of root.
39# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
40# a (redundant) copy of the binary in /system/bin for user builds.
41# TODO: Build the ramdisk image in a more principled way.
42
43LOCAL_MODULE_TAGS := eng
44
Doug Zongkerddd6a282009-06-09 12:22:33 -070045LOCAL_STATIC_LIBRARIES :=
46ifeq ($(TARGET_RECOVERY_UI_LIB),)
47 LOCAL_SRC_FILES += default_recovery_ui.c
48else
49 LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
50endif
Koushik K. Dutta16f0b492010-03-19 14:37:11 -070051LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -080052LOCAL_STATIC_LIBRARIES += libamend
Doug Zongker608fa022009-07-15 18:10:28 -070053LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -070054LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080055LOCAL_STATIC_LIBRARIES += libstdc++ libc
56
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080057include $(BUILD_EXECUTABLE)
58
Koushik K. Dutta16f0b492010-03-19 14:37:11 -070059RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070060# nc is provided by external/netcat
61SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
62$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
63$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
64 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
65 @mkdir -p $(dir $@)
66 @rm -rf $@
67 $(hide) ln -sf $(RECOVERY_BINARY) $@
68
69ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
70
71# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -070072BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070073SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
74$(SYMLINKS): BUSYBOX_BINARY := busybox
75$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
76 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
77 @mkdir -p $(dir $@)
78 @rm -rf $@
79 $(hide) ln -sf $(BUSYBOX_BINARY) $@
80
81ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
82
Koushik K. Dutta68b01902010-04-01 12:20:39 -070083include $(CLEAR_VARS)
84LOCAL_MODULE := nandroid-md5.sh
85LOCAL_MODULE_TAGS := eng
86LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
87LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
88LOCAL_SRC_FILES := nandroid-md5.sh
89include $(BUILD_PREBUILT)
90
Koushik Duttafd1579b2010-05-01 12:46:55 -070091include $(CLEAR_VARS)
92LOCAL_MODULE := mkfstab.sh
93LOCAL_MODULE_TAGS := eng
94LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
95LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
96LOCAL_SRC_FILES := mkfstab.sh
97include $(BUILD_PREBUILT)
98
Koushik K. Dutta4c1eed22010-02-11 18:59:58 -080099include $(commands_recovery_local_path)/amend/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700100include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800101include $(commands_recovery_local_path)/minzip/Android.mk
102include $(commands_recovery_local_path)/mtdutils/Android.mk
103include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700104include $(commands_recovery_local_path)/edify/Android.mk
105include $(commands_recovery_local_path)/updater/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800106commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700107
108endif # TARGET_ARCH == arm
109endif # !TARGET_SIMULATOR
110