Merge "Revert "Use PRIVATE_POST_INSTALL_CMD to simplify executable_prefer_symlink.mk""
This commit is contained in:
commit
3379b3a461
1 changed files with 25 additions and 18 deletions
|
@ -1,48 +1,55 @@
|
|||
# Include this makefile to create the LOCAL_MODULE symlink to the primary version binary.
|
||||
# Include this file only after "include $(BUILD_EXECUTABLE)".
|
||||
# It requires the primary version name specified via LOCAL_MODULE_STEM_32 or LOCAL_MODULE_STEM_64,
|
||||
# and different from the LOCAL_MODULE value.
|
||||
# include this makefile to create the LOCAL_MODULE symlink to the primary version binary.
|
||||
# but this requires the primary version name specified via LOCAL_MODULE_STEM_32 or LOCAL_MODULE_STEM_64,
|
||||
# and different with the LOCAL_MODULE value
|
||||
#
|
||||
# Note: now only limited to the binaries that will be installed under system/bin directory.
|
||||
# Note: now only limited to the binaries that will be installed under system/bin directory
|
||||
|
||||
# Create link to the one used depending on the target
|
||||
# configuration. Note that we require the TARGET_IS_64_BIT
|
||||
# check because 32 bit targets may not define TARGET_PREFER_32_BIT_APPS
|
||||
# et al. since those variables make no sense in that context.
|
||||
ifneq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
my_symlink := $(TARGET_OUT)/bin/$(LOCAL_MODULE)
|
||||
my_symlink := $(addprefix $(TARGET_OUT)/bin/, $(LOCAL_MODULE))
|
||||
ifeq ($(TARGET_IS_64_BIT),true)
|
||||
ifeq ($(TARGET_SUPPORTS_64_BIT_APPS)|$(TARGET_SUPPORTS_32_BIT_APPS),true|true)
|
||||
# We support both 32 and 64 bit apps, so we will have to
|
||||
# base our decision on whether the target prefers one or the
|
||||
# other.
|
||||
ifeq ($(TARGET_PREFER_32_BIT_APPS),true)
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_32)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
|
||||
else
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_64)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
|
||||
endif
|
||||
else ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true)
|
||||
# We support only 64 bit apps.
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_64)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
|
||||
else
|
||||
# We support only 32 bit apps.
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_32)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
|
||||
endif
|
||||
else
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_32)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
|
||||
endif
|
||||
else
|
||||
my_symlink := $(HOST_OUT)/bin/$(LOCAL_MODULE)
|
||||
my_symlink := $(addprefix $(HOST_OUT)/bin/, $(LOCAL_MODULE))
|
||||
ifneq ($(HOST_PREFER_32_BIT),true)
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_64)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
|
||||
else
|
||||
my_symlink_tgt := $(LOCAL_MODULE_STEM_32)
|
||||
$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Create the symlink as a post-install command.
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD += \
|
||||
ln -sf $(my_symlink_tgt) $(my_symlink)
|
||||
$(my_symlink): $(LOCAL_INSTALLED_MODULE) $(LOCAL_MODULE_MAKEFILE)
|
||||
@echo "Symlink: $@ -> $(PRIVATE_SRC_BINARY_NAME)"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf $(PRIVATE_SRC_BINARY_NAME) $@
|
||||
|
||||
# We need this so that the installed files could be picked up based on the
|
||||
# local module name
|
||||
ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_symlink)
|
||||
|
||||
# Create the symlink when you run mm/mmm or "make <module_name>"
|
||||
$(LOCAL_MODULE) : $(my_symlink)
|
||||
|
||||
my_symlink_tgt :=
|
||||
my_symlink :=
|
||||
|
|
Loading…
Reference in a new issue