From 031163b2c6a6bf7fbcc56c2435222c2053c232ba Mon Sep 17 00:00:00 2001 From: Matt Mower Date: Sat, 1 Nov 2014 15:13:03 -0500 Subject: Remove dependence on build hax in makefiles Update makefiles to no longer rely on INTERNAL_RECOVERY_FILES. Define LOCAL_ADDITIONAL_DEPENDENCIES instead. Set LOCAL_LDFLAGS to properly link recovery executable. Change-Id: I4542104c69399b5a19674b9772ab89c3709efa72 --- Android.mk | 71 ++++++++++++++++++++++++++++++++++++++++-- applypatch/Android.mk | 3 +- crypto/scrypt/tests/Android.mk | 2 -- dosfstools/Android.mk | 14 ++++----- exfat/exfat-fuse/Android.mk | 5 --- exfat/mkfs/Android.mk | 5 --- flashutils/Android.mk | 26 ---------------- pigz/Android.mk | 12 +++---- prebuilt/Android.mk | 1 - toolbox/Android.mk | 12 +++---- 10 files changed, 89 insertions(+), 62 deletions(-) diff --git a/Android.mk b/Android.mk index 5ec184e9d..955546176 100644 --- a/Android.mk +++ b/Android.mk @@ -316,6 +316,68 @@ ifneq ($(wildcard bionic/libc/include/sys/capability.h),) LOCAL_CFLAGS += -DHAVE_CAPABILITIES endif +LOCAL_LDFLAGS += -Wl,-dynamic-linker,/sbin/linker + +LOCAL_ADDITIONAL_DEPENDENCIES := \ + busybox_symlinks \ + dosfsck \ + dosfslabel \ + dump_image \ + erase_image \ + flash_image \ + fix_permissions.sh \ + fsck_msdos_symlink \ + mkdosfs \ + mke2fs.conf \ + mkexfatfs \ + pigz \ + teamwin \ + toolbox_symlinks \ + twrp \ + unpigz_symlink \ + updater + +ifeq ($(BOARD_HAS_NO_REAL_SDCARD),) + LOCAL_ADDITIONAL_DEPENDENCIES += parted +endif +ifneq ($(TW_EXCLUDE_ENCRYPTED_BACKUPS), true) + LOCAL_ADDITIONAL_DEPENDENCIES += openaes ../openaes/LICENSE +endif +ifeq ($(TW_INCLUDE_DUMLOCK), true) + LOCAL_ADDITIONAL_DEPENDENCIES += \ + htcdumlock htcdumlocksys flash_imagesys dump_imagesys libbmlutils.so \ + libflashutils.so libmmcutils.so libmtdutils.so HTCDumlock.apk +endif +ifneq ($(TW_EXCLUDE_SUPERSU), true) + LOCAL_ADDITIONAL_DEPENDENCIES += \ + su install-recovery.sh 99SuperSUDaemon Superuser.apk +endif +ifneq ($(TW_NO_EXFAT_FUSE), true) + LOCAL_ADDITIONAL_DEPENDENCIES += exfat-fuse +endif +ifeq ($(TW_INCLUDE_CRYPTO), true) + LOCAL_ADDITIONAL_DEPENDENCIES += cryptfs cryptsettings +endif +ifeq ($(TW_INCLUDE_JB_CRYPTO), true) + LOCAL_ADDITIONAL_DEPENDENCIES += getfooter +endif +ifeq ($(TW_INCLUDE_FB2PNG), true) + LOCAL_ADDITIONAL_DEPENDENCIES += fb2png +endif +ifneq ($(TW_OEM_BUILD),true) + LOCAL_ADDITIONAL_DEPENDENCIES += orscmd +endif +ifeq ($(BOARD_USES_BML_OVER_MTD),true) + LOCAL_ADDITIONAL_DEPENDENCIES += bml_over_mtd +endif +ifeq ($(TW_INCLUDE_INJECTTWRP), true) + LOCAL_ADDITIONAL_DEPENDENCIES += injecttwrp +endif +# Allow devices to specify device-specific recovery dependencies +ifneq ($(TARGET_RECOVERY_DEVICE_MODULES),) + LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_RECOVERY_DEVICE_MODULES) +endif + include $(BUILD_EXECUTABLE) ifneq ($(TW_USE_TOOLBOX), true) @@ -341,8 +403,13 @@ $(RECOVERY_BUSYBOX_SYMLINKS): $(LOCAL_INSTALLED_MODULE) @rm -rf $@ $(hide) ln -sf $(BUSYBOX_BINARY) $@ -ALL_DEFAULT_INSTALLED_MODULES += $(RECOVERY_BUSYBOX_SYMLINKS) -endif +include $(CLEAR_VARS) +LOCAL_MODULE := busybox_symlinks +LOCAL_MODULE_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := $(RECOVERY_BUSYBOX_SYMLINKS) +include $(BUILD_PHONY_PACKAGE) +RECOVERY_BUSYBOX_SYMLINKS := +endif # !TW_USE_TOOLBOX include $(CLEAR_VARS) LOCAL_MODULE := verifier_test diff --git a/applypatch/Android.mk b/applypatch/Android.mk index 98981a6d9..04ddfd874 100644 --- a/applypatch/Android.mk +++ b/applypatch/Android.mk @@ -38,6 +38,7 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES := main.c LOCAL_MODULE := applypatch +LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES += $(commands_recovery_local_path) LOCAL_STATIC_LIBRARIES += libapplypatch libmtdutils libmincrypttwrp libbz libminelf LOCAL_SHARED_LIBRARIES += libz libcutils libstdc++ libc @@ -49,7 +50,7 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES := main.c LOCAL_MODULE := applypatch_static LOCAL_FORCE_STATIC_EXECUTABLE := true -LOCAL_MODULE_TAGS := eng +LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES += $(commands_recovery_local_path) LOCAL_STATIC_LIBRARIES += libapplypatch libmtdutils libmincrypttwrp libbz libminelf LOCAL_STATIC_LIBRARIES += libz libcutils libstdc++ libc diff --git a/crypto/scrypt/tests/Android.mk b/crypto/scrypt/tests/Android.mk index b25e1c420..a4562de93 100644 --- a/crypto/scrypt/tests/Android.mk +++ b/crypto/scrypt/tests/Android.mk @@ -3,8 +3,6 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk - LOCAL_SRC_FILES:= \ scrypt_test.cpp diff --git a/dosfstools/Android.mk b/dosfstools/Android.mk index 62297f333..7c8592d4a 100644 --- a/dosfstools/Android.mk +++ b/dosfstools/Android.mk @@ -23,14 +23,12 @@ $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk @rm -rf $@ $(hide) ln -sf $(DOSFSCK_BINARY) $@ -ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) - -# We need this so that the installed files could be picked up based on the -# local module name -ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ - $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) - - +include $(CLEAR_VARS) +LOCAL_MODULE := fsck_msdos_symlink +LOCAL_MODULE_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS) +include $(BUILD_PHONY_PACKAGE) +SYMLINKS := include $(CLEAR_VARS) LOCAL_SRC_FILES := src/boot.c src/check.c src/common.c src/fat.c \ diff --git a/exfat/exfat-fuse/Android.mk b/exfat/exfat-fuse/Android.mk index f31c7b162..251e087e6 100644 --- a/exfat/exfat-fuse/Android.mk +++ b/exfat/exfat-fuse/Android.mk @@ -15,8 +15,3 @@ LOCAL_SHARED_LIBRARIES += libz libc libexfat libdl LOCAL_STATIC_LIBRARIES += libfusetwrp include $(BUILD_EXECUTABLE) - -# We need this so that the installed files could be picked up based on the -# local module name -ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ - $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) diff --git a/exfat/mkfs/Android.mk b/exfat/mkfs/Android.mk index fff04bd7b..a0c601f3d 100644 --- a/exfat/mkfs/Android.mk +++ b/exfat/mkfs/Android.mk @@ -14,8 +14,3 @@ LOCAL_SHARED_LIBRARIES += libz libc libexfat libdl LOCAL_STATIC_LIBRARIES += libfusetwrp include $(BUILD_EXECUTABLE) - -# We need this so that the installed files could be picked up based on the -# local module name -ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ - $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) diff --git a/flashutils/Android.mk b/flashutils/Android.mk index 7ad313be3..3209cb0c5 100644 --- a/flashutils/Android.mk +++ b/flashutils/Android.mk @@ -19,32 +19,6 @@ $(foreach board_define,$(BOARD_RECOVERY_DEFINES), \ include $(BUILD_STATIC_LIBRARY) -include $(CLEAR_VARS) -LOCAL_SRC_FILES := flash_image.c -LOCAL_MODULE := flash_image -LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_LIBRARIES := libflashutils libmtdutils libmmcutils libbmlutils libcrecovery -LOCAL_SHARED_LIBRARIES := libcutils libc -include $(BUILD_EXECUTABLE) - -include $(CLEAR_VARS) -LOCAL_SRC_FILES := dump_image.c -LOCAL_MODULE := dump_image -LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_LIBRARIES := libflashutils libmtdutils libmmcutils libbmlutils libcrecovery -LOCAL_SHARED_LIBRARIES := libcutils libc -include $(BUILD_EXECUTABLE) - -include $(CLEAR_VARS) -LOCAL_SRC_FILES := erase_image.c -LOCAL_MODULE := erase_image -LOCAL_MODULE_TAGS := optional -LOCAL_STATIC_LIBRARIES := libflashutils libmtdutils libmmcutils libbmlutils libcrecovery -LOCAL_SHARED_LIBRARIES := libcutils libc -include $(BUILD_EXECUTABLE) - -ALL_DEFAULT_INSTALLED_MODULES += $(addprefix $(TARGET_OUT)/bin/, flash_image dump_image erase_image) - include $(CLEAR_VARS) LOCAL_SRC_FILES := flash_image.c LOCAL_MODULE := libflash_image diff --git a/pigz/Android.mk b/pigz/Android.mk index 6ff50b846..7a5a4ee92 100644 --- a/pigz/Android.mk +++ b/pigz/Android.mk @@ -24,9 +24,9 @@ $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) @rm -rf $@ $(hide) ln -sf $(PIGZ_BINARY) $@ -ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) - -# We need this so that the installed files could be picked up based on the -# local module name -ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ - $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) +include $(CLEAR_VARS) +LOCAL_MODULE := unpigz_symlink +LOCAL_MODULE_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS) +include $(BUILD_PHONY_PACKAGE) +SYMLINKS := diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk index 07962c546..12d6024c6 100644 --- a/prebuilt/Android.mk +++ b/prebuilt/Android.mk @@ -133,7 +133,6 @@ GEN := $(intermediates)/teamwin $(GEN): $(RELINK) $(GEN): $(RELINK_SOURCE_FILES) $(call intermediates-dir-for,EXECUTABLES,recovery)/recovery $(RELINK) $(TARGET_RECOVERY_ROOT_OUT)/sbin $(RELINK_SOURCE_FILES) - $(RELINK) $(call intermediates-dir-for,EXECUTABLES,recovery) $(call intermediates-dir-for,EXECUTABLES,recovery)/recovery LOCAL_GENERATED_SOURCES := $(GEN) LOCAL_SRC_FILES := teamwin $(GEN) diff --git a/toolbox/Android.mk b/toolbox/Android.mk index 053660ab1..8a96c81ef 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -141,9 +141,9 @@ $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk @rm -rf $@ $(hide) ln -sf $(TOOLBOX_BINARY) $@ -ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) - -# We need this so that the installed files could be picked up based on the -# local module name -ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ - $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) +include $(CLEAR_VARS) +LOCAL_MODULE := toolbox_symlinks +LOCAL_MODULE_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS) +include $(BUILD_PHONY_PACKAGE) +SYMLINKS := -- cgit v1.2.3