blob: 3be4d519a222af4f1671d8f97348655e58b9fbbb [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 Dutta0eb14b32010-06-23 17:38:05 -070011 extendedcommands.c \
12 nandroid.c \
13 legacy.c \
14 commands.c \
Oscar Montemayor05231562009-11-30 08:40:57 -080015 recovery.c \
16 bootloader.c \
Koushik Dutta0eb14b32010-06-23 17:38:05 -070017 firmware.c \
Oscar Montemayor05231562009-11-30 08:40:57 -080018 install.c \
19 roots.c \
20 ui.c \
Oscar Montemayor2654f5a2010-03-26 16:03:44 -070021 verifier.c
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080022
23LOCAL_SRC_FILES += test_roots.c
24
25LOCAL_MODULE := recovery
26
27LOCAL_FORCE_STATIC_EXECUTABLE := true
28
Koushik Duttaefa65302010-07-07 19:10:09 -070029RECOVERY_VERSION := ClockworkMod Recovery v2.0.2.2
Koushik K. Dutta581bd862010-03-20 01:08:55 -070030LOCAL_CFLAGS := -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
Doug Zongkere08991e2010-02-02 13:09:52 -080031RECOVERY_API_VERSION := 3
Doug Zongkerfb2e3af2009-06-17 17:29:40 -070032LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
33
Koushik Dutta387080a2010-06-09 12:23:32 -070034ifeq ($(BOARD_HAS_NO_SELECT_BUTTON),true)
Koushik Duttaf4e3a672010-06-09 12:19:41 -070035 LOCAL_CFLAGS += -DKEY_POWER_IS_SELECT_ITEM
36endif
37
Koushik Dutta14239d22010-06-14 15:02:48 -070038ifdef BOARD_SDCARD_DEVICE_PRIMARY
39 LOCAL_CFLAGS += -DSDCARD_DEVICE_PRIMARY=\"$(BOARD_SDCARD_DEVICE_PRIMARY)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070040endif
41
Koushik Dutta14239d22010-06-14 15:02:48 -070042ifdef BOARD_SDCARD_DEVICE_SECONDARY
43 LOCAL_CFLAGS += -DSDCARD_DEVICE_SECONDARY=\"$(BOARD_SDCARD_DEVICE_SECONDARY)\"
Koushik Dutta59bcc7e2010-06-11 15:48:49 -070044endif
45
Koushik Dutta14239d22010-06-14 15:02:48 -070046ifdef BOARD_SDEXT_DEVICE
47 LOCAL_CFLAGS += -DSDEXT_DEVICE=\"$(BOARD_SDEXT_DEVICE)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070048endif
49
Koushik Dutta14239d22010-06-14 15:02:48 -070050ifdef BOARD_SDEXT_FILESYSTEM
Koushik Duttac2908612010-06-19 08:42:59 -070051 LOCAL_CFLAGS += -DSDEXT_FILESYSTEM=\"$(BOARD_SDEXT_FILESYSTEM)\"
Koushik Dutta14239d22010-06-14 15:02:48 -070052endif
53
54ifdef BOARD_DATA_DEVICE
55 LOCAL_CFLAGS += -DDATA_DEVICE=\"$(BOARD_DATA_DEVICE)\"
56endif
57
58ifdef BOARD_DATA_FILESYSTEM
59 LOCAL_CFLAGS += -DDATA_FILESYSTEM=\"$(BOARD_DATA_FILESYSTEM)\"
60endif
61
62ifdef BOARD_CACHE_DEVICE
63 LOCAL_CFLAGS += -DCACHE_DEVICE=\"$(BOARD_CACHE_DEVICE)\"
64endif
65
66ifdef BOARD_CACHE_FILESYSTEM
67 LOCAL_CFLAGS += -DCACHE_FILESYSTEM=\"$(BOARD_CACHE_FILESYSTEM)\"
Koushik Duttaf8b21c22010-06-14 12:49:47 -070068endif
69
Koushik Dutta8b5e1852010-06-14 22:04:22 -070070ifdef BOARD_HAS_DATADATA
71 LOCAL_CFLAGS += -DHAS_DATADATA
72endif
73
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080074# This binary is in the recovery ramdisk, which is otherwise a copy of root.
75# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
76# a (redundant) copy of the binary in /system/bin for user builds.
77# TODO: Build the ramdisk image in a more principled way.
78
79LOCAL_MODULE_TAGS := eng
80
Doug Zongkerddd6a282009-06-09 12:22:33 -070081LOCAL_STATIC_LIBRARIES :=
Koushik Duttaf2954b52010-06-30 23:27:26 -070082#ifeq ($(TARGET_RECOVERY_UI_LIB),)
83# LOCAL_SRC_FILES += default_recovery_ui.c
Koushik Dutta916f5532010-06-30 23:31:35 -070084#else
Koushik Duttaf2954b52010-06-30 23:27:26 -070085# LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
86#endif
87LOCAL_SRC_FILES += default_recovery_ui.c
Koushik K. Dutta16f0b492010-03-19 14:37:11 -070088LOCAL_STATIC_LIBRARIES += libbusybox libclearsilverregex libmkyaffs2image libunyaffs liberase_image libdump_image libflash_image libmtdutils
Koushik K. Dutta1a7ee532010-02-21 17:52:30 -080089LOCAL_STATIC_LIBRARIES += libamend
Doug Zongker608fa022009-07-15 18:10:28 -070090LOCAL_STATIC_LIBRARIES += libminzip libunz libmtdutils libmincrypt
Doug Zongker19faefa2009-03-27 17:06:24 -070091LOCAL_STATIC_LIBRARIES += libminui libpixelflinger_static libpng libcutils
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080092LOCAL_STATIC_LIBRARIES += libstdc++ libc
93
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -080094include $(BUILD_EXECUTABLE)
95
Koushik Duttad3cc60b2010-07-03 13:56:45 -070096RECOVERY_LINKS := amend busybox flash_image dump_image mkyaffs2image unyaffs erase_image nandroid
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -070097# nc is provided by external/netcat
98SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(RECOVERY_LINKS))
99$(SYMLINKS): RECOVERY_BINARY := $(LOCAL_MODULE)
100$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
101 @echo "Symlink: $@ -> $(RECOVERY_BINARY)"
102 @mkdir -p $(dir $@)
103 @rm -rf $@
104 $(hide) ln -sf $(RECOVERY_BINARY) $@
105
106ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
107
108# Now let's do recovery symlinks
Koushik K. Dutta24cecb12010-03-29 15:20:07 -0700109BUSYBOX_LINKS := $(shell cat external/busybox/busybox-minimal.links)
Koushik K. Dutta6f406aa2010-03-16 23:46:13 -0700110SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(filter-out $(exclude),$(notdir $(BUSYBOX_LINKS))))
111$(SYMLINKS): BUSYBOX_BINARY := busybox
112$(SYMLINKS): $(LOCAL_INSTALLED_MODULE)
113 @echo "Symlink: $@ -> $(BUSYBOX_BINARY)"
114 @mkdir -p $(dir $@)
115 @rm -rf $@
116 $(hide) ln -sf $(BUSYBOX_BINARY) $@
117
118ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
119
Koushik K. Dutta68b01902010-04-01 12:20:39 -0700120include $(CLEAR_VARS)
121LOCAL_MODULE := nandroid-md5.sh
122LOCAL_MODULE_TAGS := eng
123LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
124LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
125LOCAL_SRC_FILES := nandroid-md5.sh
126include $(BUILD_PREBUILT)
127
Koushik Duttafd1579b2010-05-01 12:46:55 -0700128include $(CLEAR_VARS)
Koushik Duttacdb63352010-06-09 15:49:44 -0700129LOCAL_MODULE := killrecovery.sh
130LOCAL_MODULE_TAGS := eng
131LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
132LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
133LOCAL_SRC_FILES := killrecovery.sh
134include $(BUILD_PREBUILT)
135
Doug Zongker73ae31c2009-12-09 17:01:45 -0800136include $(CLEAR_VARS)
137
138LOCAL_SRC_FILES := verifier_test.c verifier.c
139
140LOCAL_MODULE := verifier_test
141
142LOCAL_FORCE_STATIC_EXECUTABLE := true
143
144LOCAL_MODULE_TAGS := tests
145
146LOCAL_STATIC_LIBRARIES := libmincrypt libcutils libstdc++ libc
147
148include $(BUILD_EXECUTABLE)
149
150
Koushik Duttad823d5f2010-07-01 08:21:02 -0700151include $(commands_recovery_local_path)/amend/Android.mk
Doug Zongkerddd6a282009-06-09 12:22:33 -0700152include $(commands_recovery_local_path)/minui/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800153include $(commands_recovery_local_path)/minzip/Android.mk
154include $(commands_recovery_local_path)/mtdutils/Android.mk
155include $(commands_recovery_local_path)/tools/Android.mk
Doug Zongker9931f7f2009-06-10 14:11:53 -0700156include $(commands_recovery_local_path)/edify/Android.mk
157include $(commands_recovery_local_path)/updater/Android.mk
Doug Zongker512536a2010-02-17 16:11:44 -0800158include $(commands_recovery_local_path)/applypatch/Android.mk
The Android Open Source Projectc24a8e62009-03-03 19:28:42 -0800159commands_recovery_local_path :=
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700160
161endif # TARGET_ARCH == arm
Oscar Montemayor05231562009-11-30 08:40:57 -0800162endif # !TARGET_SIMULATOR
Doug Zongkerc3885fa2009-06-11 17:05:58 -0700163