Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 1 | LOCAL_PATH := $(call my-dir) |
| 2 | |
| 3 | RELINK := $(LOCAL_PATH)/relink.sh |
| 4 | |
| 5 | #dummy file to trigger required modules |
| 6 | include $(CLEAR_VARS) |
| 7 | LOCAL_MODULE := teamwin |
| 8 | LOCAL_MODULE_TAGS := eng |
| 9 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 10 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin |
| 11 | |
Matt Mower | fb1c4ff | 2014-04-16 13:43:36 -0500 | [diff] [blame] | 12 | # Manage list |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 13 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/dump_image |
| 14 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/flash_image |
| 15 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/erase_image |
Ethan Yonker | 5c93369 | 2014-04-04 11:26:32 -0500 | [diff] [blame] | 16 | ifneq ($(TW_USE_TOOLBOX), true) |
| 17 | RELINK_SOURCE_FILES += $(TARGET_OUT_OPTIONAL_EXECUTABLES)/busybox |
| 18 | else |
Ethan Yonker | bcc502c | 2014-11-10 11:22:10 -0600 | [diff] [blame] | 19 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/sh |
| 20 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcrypto.so |
Ethan Yonker | c798c9c | 2015-10-09 11:15:26 -0500 | [diff] [blame] | 21 | ifneq (,$(filter $(PLATFORM_SDK_VERSION), 23)) |
sndnvaps | a915ec4 | 2016-02-16 18:45:19 +0800 | [diff] [blame^] | 22 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/toybox |
dianlujitao | ce608ab | 2015-12-28 23:51:19 +0800 | [diff] [blame] | 23 | ifneq ($(wildcard external/zip/Android.mk),) |
| 24 | RELINK_SOURCE_FILES += $(TARGET_OUT_OPTIONAL_EXECUTABLES)/zip |
| 25 | endif |
| 26 | ifneq ($(wildcard external/unzip/Android.mk),) |
| 27 | RELINK_SOURCE_FILES += $(TARGET_OUT_OPTIONAL_EXECUTABLES)/unzip |
| 28 | endif |
Ethan Yonker | c798c9c | 2015-10-09 11:15:26 -0500 | [diff] [blame] | 29 | endif |
Ethan Yonker | 5c93369 | 2014-04-04 11:26:32 -0500 | [diff] [blame] | 30 | endif |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 31 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/pigz |
Matt Mower | 18794c8 | 2015-11-11 16:22:45 -0600 | [diff] [blame] | 32 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/fsck.fat |
| 33 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/fatlabel |
| 34 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/mkfs.fat |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 35 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/e2fsck |
| 36 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mke2fs |
| 37 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/tune2fs |
Ethan Yonker | a271915 | 2015-05-28 09:44:41 -0500 | [diff] [blame] | 38 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/resize2fs |
HashBang | ed974bb | 2016-01-30 14:20:09 -0500 | [diff] [blame] | 39 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/simg2img |
Ethan Yonker | 4f6a976 | 2015-03-09 13:58:54 -0500 | [diff] [blame] | 40 | ifneq ($(TARGET_ARCH), x86_64) |
| 41 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker |
| 42 | endif |
| 43 | ifeq ($(TARGET_ARCH), x86_64) |
| 44 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker64 |
| 45 | endif |
Ethan Yonker | 1902c79 | 2014-12-03 16:48:36 -0600 | [diff] [blame] | 46 | ifeq ($(TARGET_ARCH), arm64) |
| 47 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/linker64 |
| 48 | endif |
bigbiff bigbiff | c7eee6f | 2014-09-02 18:59:01 -0400 | [diff] [blame] | 49 | #RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/twrpmtp |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 50 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libc.so |
| 51 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcutils.so |
Ethan Yonker | bcc502c | 2014-11-10 11:22:10 -0600 | [diff] [blame] | 52 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcrecovery.so |
bigbiff bigbiff | c7eee6f | 2014-09-02 18:59:01 -0400 | [diff] [blame] | 53 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libusbhost.so |
bigbiff bigbiff | c7eee6f | 2014-09-02 18:59:01 -0400 | [diff] [blame] | 54 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libutils.so |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 55 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libdl.so |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 56 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_com_err.so |
| 57 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_e2p.so |
| 58 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2fs.so |
| 59 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_profile.so |
| 60 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_uuid.so |
Ethan Yonker | 38c2ff8 | 2014-12-09 13:42:10 -0600 | [diff] [blame] | 61 | ifneq ($(wildcard external/e2fsprogs/lib/quota/Android.mk),) |
| 62 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_quota.so |
| 63 | endif |
Ethan Yonker | bcff146 | 2015-01-04 22:01:33 -0600 | [diff] [blame] | 64 | ifneq ($(wildcard external/e2fsprogs/lib/ext2fs/Android.mk),) |
| 65 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2fs.so |
| 66 | endif |
| 67 | ifneq ($(wildcard external/e2fsprogs/lib/blkid/Android.mk),) |
| 68 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext2_blkid.so |
| 69 | endif |
Vojtech Bocek | 76ee903 | 2014-09-07 15:01:56 +0200 | [diff] [blame] | 70 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libpng.so |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 71 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/liblog.so |
| 72 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libm.so |
| 73 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libstdc++.so |
| 74 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libz.so |
Dees_Troy | 2673cec | 2013-04-02 20:22:16 +0000 | [diff] [blame] | 75 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libminuitwrp.so |
| 76 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libminadbd.so |
| 77 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libminzip.so |
| 78 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libmtdutils.so |
bigbiff bigbiff | 9c75405 | 2013-01-09 09:09:08 -0500 | [diff] [blame] | 79 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libtar.so |
bigbiff | 7b4c7a6 | 2015-01-01 19:44:14 -0500 | [diff] [blame] | 80 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libutil-linux.so |
Vojtech Bocek | 7cc278b | 2013-02-24 01:40:19 +0100 | [diff] [blame] | 81 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libblkid.so |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 82 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libmmcutils.so |
| 83 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libbmlutils.so |
| 84 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libflashutils.so |
Ethan Yonker | 67eb72a | 2014-11-07 10:44:37 -0600 | [diff] [blame] | 85 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libfusesideload.so |
Ethan Yonker | c798c9c | 2015-10-09 11:15:26 -0500 | [diff] [blame] | 86 | ifeq (,$(filter $(PLATFORM_SDK_VERSION), 23)) |
| 87 | # These libraries are no longer present in M |
| 88 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libstlport.so |
| 89 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libgccdemangle.so |
| 90 | endif |
mar-v-in | 4142408 | 2015-03-10 19:06:16 +0100 | [diff] [blame] | 91 | ifneq (,$(filter $(PLATFORM_SDK_VERSION), 21 22)) |
Ethan Yonker | 75bf041 | 2014-11-21 13:54:27 -0600 | [diff] [blame] | 92 | # libraries from lollipop |
| 93 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libbacktrace.so |
| 94 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libunwind.so |
| 95 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libunwind-ptrace.so |
Vojtech Bocek | 41ae124 | 2015-01-04 21:57:50 +0100 | [diff] [blame] | 96 | # Dynamically loaded by lollipop libc and may prevent unmounting system if it is not present in sbin |
| 97 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libnetd_client.so |
Ethan Yonker | 75bf041 | 2014-11-21 13:54:27 -0600 | [diff] [blame] | 98 | else |
Ethan Yonker | c798c9c | 2015-10-09 11:15:26 -0500 | [diff] [blame] | 99 | ifneq (,$(filter $(PLATFORM_SDK_VERSION), 23)) |
| 100 | # Android M libraries |
| 101 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libbacktrace.so |
| 102 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libunwind.so |
| 103 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libbase.so |
| 104 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libc++.so |
| 105 | # Dynamically loaded by libc and may prevent unmounting system if it is not present in sbin |
| 106 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libnetd_client.so |
| 107 | else |
| 108 | # Not available in lollipop |
| 109 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcorkscrew.so |
| 110 | endif |
Ethan Yonker | 75bf041 | 2014-11-21 13:54:27 -0600 | [diff] [blame] | 111 | endif |
Ethan Yonker | 560e65f | 2014-11-17 11:37:00 -0600 | [diff] [blame] | 112 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libmincrypttwrp.so |
Dees Troy | 8d66f8b | 2013-10-08 14:04:55 +0000 | [diff] [blame] | 113 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/toolbox |
Ethan Yonker | 03a42f6 | 2014-08-08 11:03:51 -0500 | [diff] [blame] | 114 | ifneq ($(TW_OEM_BUILD),true) |
| 115 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/twrp |
bigbiff bigbiff | c7eee6f | 2014-09-02 18:59:01 -0400 | [diff] [blame] | 116 | else |
| 117 | TW_EXCLUDE_MTP := true |
| 118 | endif |
| 119 | ifneq ($(TW_EXCLUDE_MTP), true) |
| 120 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libtwrpmtp.so |
Ethan Yonker | 03a42f6 | 2014-08-08 11:03:51 -0500 | [diff] [blame] | 121 | endif |
Dees_Troy | a95f55c | 2013-08-17 13:14:43 +0000 | [diff] [blame] | 122 | ifeq ($(TARGET_USERIMAGES_USE_EXT4), true) |
| 123 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext4_utils.so |
| 124 | endif |
Dees_Troy | 2673cec | 2013-04-02 20:22:16 +0000 | [diff] [blame] | 125 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libaosprecovery.so |
Greg Wallace | ace7623 | 2016-01-27 17:15:51 -0500 | [diff] [blame] | 126 | ifneq ($(TW_INCLUDE_JPEG),) |
| 127 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libjpeg.so |
| 128 | endif |
Dees Troy | 4bf3b0d | 2013-09-11 19:12:49 +0000 | [diff] [blame] | 129 | ifeq ($(TWHAVE_SELINUX), true) |
Dees_Troy | f2280ff | 2013-08-06 18:01:12 +0000 | [diff] [blame] | 130 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libselinux.so |
Dees_Troy | e3850a3 | 2013-08-29 18:33:47 +0000 | [diff] [blame] | 131 | ifneq ($(TARGET_USERIMAGES_USE_EXT4), true) |
| 132 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libext4_utils.so |
| 133 | endif |
Dees_Troy | f2280ff | 2013-08-06 18:01:12 +0000 | [diff] [blame] | 134 | endif |
Vojtech Bocek | 7cc278b | 2013-02-24 01:40:19 +0100 | [diff] [blame] | 135 | ifeq ($(BUILD_ID), GINGERBREAD) |
| 136 | TW_NO_EXFAT := true |
| 137 | endif |
Dees_Troy | b05ddee | 2013-01-28 20:24:50 +0000 | [diff] [blame] | 138 | ifneq ($(TW_NO_EXFAT), true) |
Dees_Troy | b05ddee | 2013-01-28 20:24:50 +0000 | [diff] [blame] | 139 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/mkexfatfs |
Matt Mower | 80f7b36 | 2015-12-12 15:38:01 -0600 | [diff] [blame] | 140 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/fsck.exfat |
Ethan Yonker | dc3bc46 | 2015-12-08 15:12:40 -0600 | [diff] [blame] | 141 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libexfat_twrp.so |
Dees Troy | b4bd697 | 2014-10-09 18:47:00 +0000 | [diff] [blame] | 142 | else |
Captain Throwback | 6a1acf2 | 2014-09-18 12:46:35 -0400 | [diff] [blame] | 143 | TW_NO_EXFAT_FUSE := true |
| 144 | endif |
| 145 | ifneq ($(TW_NO_EXFAT_FUSE), true) |
| 146 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/exfat-fuse |
bigbiff bigbiff | 9c75405 | 2013-01-09 09:09:08 -0500 | [diff] [blame] | 147 | endif |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 148 | ifeq ($(TW_INCLUDE_BLOBPACK), true) |
| 149 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/blobpack |
| 150 | endif |
| 151 | ifeq ($(TW_INCLUDE_INJECTTWRP), true) |
| 152 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/injecttwrp |
| 153 | endif |
| 154 | ifeq ($(TW_INCLUDE_DUMLOCK), true) |
| 155 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/htcdumlock |
| 156 | endif |
| 157 | ifeq ($(TW_INCLUDE_CRYPTO), true) |
Ethan Yonker | 4eca40d | 2014-11-11 14:52:28 -0600 | [diff] [blame] | 158 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcryptfslollipop.so |
| 159 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcrypto.so |
Ethan Yonker | 4eca40d | 2014-11-11 14:52:28 -0600 | [diff] [blame] | 160 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libhardware.so |
Ethan Yonker | 66a1949 | 2015-12-10 10:19:45 -0600 | [diff] [blame] | 161 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libgpt_twrp.so |
Dees Troy | c657cc0 | 2015-01-16 22:48:47 +0000 | [diff] [blame] | 162 | ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) |
Captain Throwback | 7fe1b39 | 2015-06-29 09:19:32 -0400 | [diff] [blame] | 163 | RELINK_SOURCE_FILES += $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/libcryptfs_hw.so |
Dees Troy | c657cc0 | 2015-01-16 22:48:47 +0000 | [diff] [blame] | 164 | endif |
Ethan Yonker | 4eca40d | 2014-11-11 14:52:28 -0600 | [diff] [blame] | 165 | endif |
Dees_Troy | 38bd760 | 2012-09-14 13:33:53 -0400 | [diff] [blame] | 166 | ifeq ($(TARGET_USERIMAGES_USE_EXT4), true) |
| 167 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/make_ext4fs |
| 168 | endif |
Dees_Troy | 4546fe7 | 2013-01-10 14:33:27 +0000 | [diff] [blame] | 169 | ifneq ($(wildcard system/core/libsparse/Android.mk),) |
| 170 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libsparse.so |
| 171 | endif |
Dees_Troy | 83bd483 | 2013-05-04 12:39:56 +0000 | [diff] [blame] | 172 | ifneq ($(TW_EXCLUDE_ENCRYPTED_BACKUPS), true) |
| 173 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/openaes |
| 174 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libopenaes.so |
| 175 | endif |
Dees_Troy | e501704 | 2013-08-29 16:38:55 +0000 | [diff] [blame] | 176 | ifeq ($(TARGET_USERIMAGES_USE_F2FS), true) |
Matt Mower | 5829491 | 2015-12-10 11:54:28 -0600 | [diff] [blame] | 177 | ifeq ($(shell test $(CM_PLATFORM_SDK_VERSION) -ge 4; echo $$?),0) |
| 178 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkfs.f2fs |
| 179 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libf2fs.so |
| 180 | else ifneq (,$(filter $(PLATFORM_SDK_VERSION), 23)) |
Ethan Yonker | 5235f55 | 2015-10-09 14:46:47 -0500 | [diff] [blame] | 181 | RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/mkfs.f2fs |
Matt Mower | 5829491 | 2015-12-10 11:54:28 -0600 | [diff] [blame] | 182 | else ifneq (,$(filter $(PLATFORM_SDK_VERSION), 21 22)) |
| 183 | RELINK_SOURCE_FILES += $(TARGET_ROOT_OUT_SBIN)/mkfs.f2fs |
Ethan Yonker | 75bf041 | 2014-11-21 13:54:27 -0600 | [diff] [blame] | 184 | else |
Matt Mower | 5829491 | 2015-12-10 11:54:28 -0600 | [diff] [blame] | 185 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkfs.f2fs |
Ethan Yonker | 75bf041 | 2014-11-21 13:54:27 -0600 | [diff] [blame] | 186 | endif |
Dees_Troy | e501704 | 2013-08-29 16:38:55 +0000 | [diff] [blame] | 187 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/fsck.f2fs |
Dees_Troy | e501704 | 2013-08-29 16:38:55 +0000 | [diff] [blame] | 188 | endif |
Dees Troy | 0226cd5 | 2013-11-04 14:12:35 +0000 | [diff] [blame] | 189 | ifneq ($(wildcard system/core/reboot/Android.mk),) |
| 190 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/reboot |
| 191 | endif |
Vojtech Bocek | 76ee903 | 2014-09-07 15:01:56 +0200 | [diff] [blame] | 192 | ifneq ($(TW_DISABLE_TTF), true) |
| 193 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libft2.so |
| 194 | endif |
Ethan Yonker | 0e67837 | 2014-11-18 12:17:06 -0600 | [diff] [blame] | 195 | ifneq ($(TW_RECOVERY_ADDITIONAL_RELINK_FILES),) |
| 196 | RELINK_SOURCE_FILES += $(TW_RECOVERY_ADDITIONAL_RELINK_FILES) |
| 197 | endif |
Dees Troy | e176a65 | 2015-01-20 19:35:21 +0000 | [diff] [blame] | 198 | ifneq ($(wildcard external/pcre/Android.mk),) |
| 199 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libpcre.so |
| 200 | endif |
Ethan Yonker | b81d905 | 2015-07-09 13:20:53 -0500 | [diff] [blame] | 201 | ifeq ($(TW_INCLUDE_NTFS_3G),true) |
Greg Wallace | b39e6c6 | 2015-12-29 00:55:26 -0500 | [diff] [blame] | 202 | ifeq ($(shell test $(CM_PLATFORM_SDK_VERSION) -ge 4; echo $$?),0) |
| 203 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mount.ntfs |
| 204 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/fsck.ntfs |
| 205 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkfs.ntfs |
| 206 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libntfs-3g.so |
| 207 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libfuse.so |
| 208 | else |
Ethan Yonker | b81d905 | 2015-07-09 13:20:53 -0500 | [diff] [blame] | 209 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/ntfs-3g |
| 210 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/ntfsfix |
| 211 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkntfs |
| 212 | endif |
Greg Wallace | b39e6c6 | 2015-12-29 00:55:26 -0500 | [diff] [blame] | 213 | endif |
Ethan Yonker | 483e9f4 | 2016-01-11 22:21:18 -0600 | [diff] [blame] | 214 | ifeq ($(BOARD_HAS_NO_REAL_SDCARD),) |
| 215 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -gt 22; echo $$?),0) |
| 216 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/sgdisk |
| 217 | endif |
| 218 | endif |
Captain Throwback | 1f12775 | 2016-01-19 17:30:20 -0500 | [diff] [blame] | 219 | ifeq ($(TWRP_INCLUDE_LOGCAT), true) |
| 220 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/logcat |
Ethan Yonker | e5a288c | 2016-02-15 09:23:57 -0600 | [diff] [blame] | 221 | ifeq ($(TARGET_USES_LOGD), true) |
| 222 | RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/logd |
| 223 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libsysutils.so |
| 224 | RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libnl.so |
| 225 | endif |
Captain Throwback | 1f12775 | 2016-01-19 17:30:20 -0500 | [diff] [blame] | 226 | endif |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 227 | TWRP_AUTOGEN := $(intermediates)/teamwin |
| 228 | |
| 229 | GEN := $(intermediates)/teamwin |
| 230 | $(GEN): $(RELINK) |
| 231 | $(GEN): $(RELINK_SOURCE_FILES) $(call intermediates-dir-for,EXECUTABLES,recovery)/recovery |
| 232 | $(RELINK) $(TARGET_RECOVERY_ROOT_OUT)/sbin $(RELINK_SOURCE_FILES) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 233 | |
| 234 | LOCAL_GENERATED_SOURCES := $(GEN) |
| 235 | LOCAL_SRC_FILES := teamwin $(GEN) |
| 236 | include $(BUILD_PREBUILT) |
| 237 | |
Ethan Yonker | c798c9c | 2015-10-09 11:15:26 -0500 | [diff] [blame] | 238 | #permissive.sh |
| 239 | include $(CLEAR_VARS) |
| 240 | LOCAL_MODULE := permissive.sh |
| 241 | LOCAL_MODULE_TAGS := eng |
| 242 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 243 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin |
| 244 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 245 | include $(BUILD_PREBUILT) |
| 246 | |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 247 | #mke2fs.conf |
| 248 | include $(CLEAR_VARS) |
| 249 | LOCAL_MODULE := mke2fs.conf |
| 250 | LOCAL_MODULE_TAGS := eng |
| 251 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 252 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/etc |
| 253 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 254 | include $(BUILD_PREBUILT) |
| 255 | |
| 256 | ifeq ($(BOARD_HAS_NO_REAL_SDCARD),) |
Ethan Yonker | 483e9f4 | 2016-01-11 22:21:18 -0600 | [diff] [blame] | 257 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) |
| 258 | #prebuilt, static sgdisk |
| 259 | include $(CLEAR_VARS) |
| 260 | LOCAL_MODULE := sgdisk_static |
| 261 | LOCAL_MODULE_STEM := sgdisk |
| 262 | LOCAL_MODULE_TAGS := eng |
| 263 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 264 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin |
| 265 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 266 | include $(BUILD_PREBUILT) |
| 267 | endif |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 268 | #parted |
Ethan Yonker | 483e9f4 | 2016-01-11 22:21:18 -0600 | [diff] [blame] | 269 | #include $(CLEAR_VARS) |
| 270 | #LOCAL_MODULE := parted |
| 271 | #LOCAL_MODULE_TAGS := eng |
| 272 | #LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 273 | #LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin |
| 274 | #LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 275 | #include $(BUILD_PREBUILT) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 276 | endif |
| 277 | |
Dees_Troy | 83bd483 | 2013-05-04 12:39:56 +0000 | [diff] [blame] | 278 | # copy license file for OpenAES |
| 279 | ifneq ($(TW_EXCLUDE_ENCRYPTED_BACKUPS), true) |
| 280 | include $(CLEAR_VARS) |
| 281 | LOCAL_MODULE := ../openaes/LICENSE |
| 282 | LOCAL_MODULE_TAGS := eng |
| 283 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 284 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/license/openaes |
| 285 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 286 | include $(BUILD_PREBUILT) |
| 287 | endif |
| 288 | |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 289 | ifeq ($(TW_INCLUDE_DUMLOCK), true) |
| 290 | #htcdumlock for /system for dumlock |
| 291 | include $(CLEAR_VARS) |
| 292 | LOCAL_MODULE := htcdumlocksys |
| 293 | LOCAL_MODULE_TAGS := eng |
| 294 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 295 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 296 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 297 | include $(BUILD_PREBUILT) |
| 298 | |
| 299 | #flash_image for /system for dumlock |
| 300 | include $(CLEAR_VARS) |
| 301 | LOCAL_MODULE := flash_imagesys |
| 302 | LOCAL_MODULE_TAGS := eng |
| 303 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 304 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 305 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 306 | include $(BUILD_PREBUILT) |
| 307 | |
| 308 | #dump_image for /system for dumlock |
| 309 | include $(CLEAR_VARS) |
| 310 | LOCAL_MODULE := dump_imagesys |
| 311 | LOCAL_MODULE_TAGS := eng |
| 312 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 313 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 314 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 315 | include $(BUILD_PREBUILT) |
| 316 | |
| 317 | #libbmlutils for /system for dumlock |
| 318 | include $(CLEAR_VARS) |
| 319 | LOCAL_MODULE := libbmlutils.so |
| 320 | LOCAL_MODULE_TAGS := eng |
| 321 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 322 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 323 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 324 | include $(BUILD_PREBUILT) |
| 325 | |
| 326 | #libflashutils for /system for dumlock |
| 327 | include $(CLEAR_VARS) |
| 328 | LOCAL_MODULE := libflashutils.so |
| 329 | LOCAL_MODULE_TAGS := eng |
| 330 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 331 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 332 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 333 | include $(BUILD_PREBUILT) |
| 334 | |
| 335 | #libmmcutils for /system for dumlock |
| 336 | include $(CLEAR_VARS) |
| 337 | LOCAL_MODULE := libmmcutils.so |
| 338 | LOCAL_MODULE_TAGS := eng |
| 339 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 340 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 341 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 342 | include $(BUILD_PREBUILT) |
| 343 | |
| 344 | #libmtdutils for /system for dumlock |
| 345 | include $(CLEAR_VARS) |
| 346 | LOCAL_MODULE := libmtdutils.so |
| 347 | LOCAL_MODULE_TAGS := eng |
| 348 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 349 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 350 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 351 | include $(BUILD_PREBUILT) |
| 352 | |
| 353 | #HTCDumlock.apk |
| 354 | include $(CLEAR_VARS) |
| 355 | LOCAL_MODULE := HTCDumlock.apk |
| 356 | LOCAL_MODULE_TAGS := eng |
| 357 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
Dees Troy | 3454ade | 2015-01-20 19:21:04 +0000 | [diff] [blame] | 358 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)$(TWHTCD_PATH) |
Dees_Troy | 51a0e82 | 2012-09-05 15:24:24 -0400 | [diff] [blame] | 359 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 360 | include $(BUILD_PREBUILT) |
| 361 | endif |
Dees_Troy | 6ef6635 | 2013-02-21 08:26:57 -0600 | [diff] [blame] | 362 | |
| 363 | ifneq ($(TW_EXCLUDE_SUPERSU), true) |
Ethan Yonker | e3e8829 | 2014-12-10 16:17:55 -0600 | [diff] [blame] | 364 | ifeq ($(TARGET_ARCH), arm) |
| 365 | #chattr.pie |
| 366 | include $(CLEAR_VARS) |
| 367 | LOCAL_MODULE := chattr.pie |
| 368 | LOCAL_MODULE_TAGS := eng |
| 369 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 370 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 371 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 372 | include $(BUILD_PREBUILT) |
Dees_Troy | 6ef6635 | 2013-02-21 08:26:57 -0600 | [diff] [blame] | 373 | |
Ethan Yonker | e3e8829 | 2014-12-10 16:17:55 -0600 | [diff] [blame] | 374 | #libsupol.so |
| 375 | include $(CLEAR_VARS) |
| 376 | LOCAL_MODULE := libsupol.so |
| 377 | LOCAL_MODULE_TAGS := eng |
| 378 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 379 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 380 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 381 | include $(BUILD_PREBUILT) |
| 382 | |
| 383 | #su binary |
| 384 | include $(CLEAR_VARS) |
Ethan Yonker | b82422a | 2016-01-20 08:48:49 -0600 | [diff] [blame] | 385 | LOCAL_MODULE := suarm |
| 386 | LOCAL_MODULE_STEM := su |
Ethan Yonker | e3e8829 | 2014-12-10 16:17:55 -0600 | [diff] [blame] | 387 | LOCAL_MODULE_TAGS := eng |
| 388 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 389 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 390 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 391 | include $(BUILD_PREBUILT) |
| 392 | |
| 393 | #supolicy |
| 394 | include $(CLEAR_VARS) |
| 395 | LOCAL_MODULE := supolicy |
| 396 | LOCAL_MODULE_TAGS := eng |
| 397 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 398 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 399 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 400 | include $(BUILD_PREBUILT) |
| 401 | endif |
| 402 | ifeq ($(TARGET_ARCH), arm64) |
| 403 | #libsupol.so |
| 404 | include $(CLEAR_VARS) |
| 405 | LOCAL_MODULE := libsupol.soarm64 |
| 406 | LOCAL_MODULE_STEM := libsupol.so |
| 407 | LOCAL_MODULE_TAGS := eng |
| 408 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 409 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 410 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 411 | include $(BUILD_PREBUILT) |
| 412 | |
| 413 | #su binary |
| 414 | include $(CLEAR_VARS) |
| 415 | LOCAL_MODULE := suarm64 |
| 416 | LOCAL_MODULE_STEM := su |
| 417 | LOCAL_MODULE_TAGS := eng |
| 418 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 419 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 420 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 421 | include $(BUILD_PREBUILT) |
| 422 | |
| 423 | #supolicy |
| 424 | include $(CLEAR_VARS) |
| 425 | LOCAL_MODULE := supolicyarm64 |
| 426 | LOCAL_MODULE_STEM := supolicy |
| 427 | LOCAL_MODULE_TAGS := eng |
| 428 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 429 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 430 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 431 | include $(BUILD_PREBUILT) |
| 432 | endif |
| 433 | |
| 434 | #install-recovery.sh |
Dees_Troy | a7939bb | 2013-08-29 20:21:12 +0000 | [diff] [blame] | 435 | include $(CLEAR_VARS) |
| 436 | LOCAL_MODULE := install-recovery.sh |
| 437 | LOCAL_MODULE_TAGS := eng |
| 438 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 439 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 440 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 441 | include $(BUILD_PREBUILT) |
| 442 | |
Ethan Yonker | e3e8829 | 2014-12-10 16:17:55 -0600 | [diff] [blame] | 443 | #install-supersu.sh |
| 444 | include $(CLEAR_VARS) |
| 445 | LOCAL_MODULE := install-supersu.sh |
| 446 | LOCAL_MODULE_TAGS := eng |
| 447 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 448 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 449 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 450 | include $(BUILD_PREBUILT) |
| 451 | |
| 452 | #99SuperSUDaemon |
Dees_Troy | a7939bb | 2013-08-29 20:21:12 +0000 | [diff] [blame] | 453 | include $(CLEAR_VARS) |
| 454 | LOCAL_MODULE := 99SuperSUDaemon |
| 455 | LOCAL_MODULE_TAGS := eng |
| 456 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
| 457 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
| 458 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 459 | include $(BUILD_PREBUILT) |
| 460 | |
Dees_Troy | 6ef6635 | 2013-02-21 08:26:57 -0600 | [diff] [blame] | 461 | #SuperSU special installer APK |
| 462 | include $(CLEAR_VARS) |
| 463 | LOCAL_MODULE := Superuser.apk |
| 464 | LOCAL_MODULE_TAGS := eng |
| 465 | LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES |
jt1134 | 113ee73 | 2013-02-22 23:26:10 -0600 | [diff] [blame] | 466 | LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/supersu |
Dees_Troy | 6ef6635 | 2013-02-21 08:26:57 -0600 | [diff] [blame] | 467 | LOCAL_SRC_FILES := $(LOCAL_MODULE) |
| 468 | include $(BUILD_PREBUILT) |
jt1134 | 113ee73 | 2013-02-22 23:26:10 -0600 | [diff] [blame] | 469 | endif |