blob: e4df92ee629b3cb36d5d245a46c00ee2ac15366b [file] [log] [blame]
Yongqin Liud1d42e82014-05-07 12:41:24 +08001# include this makefile to create the LOCAL_MODULE symlink to the primary version binary.
2# but this requires the primary version name specified via LOCAL_MODULE_STEM_32 or LOCAL_MODULE_STEM_64,
3# and different with the LOCAL_MODULE value
4#
5# Note: now only limited to the binaries that will be installed under system/bin directory
6
Narayan Kamath4fb81222014-05-14 18:26:48 +01007# Create link to the one used depending on the target
8# configuration. Note that we require the TARGET_IS_64_BIT
9# check because 32 bit targets may not define TARGET_PREFER_32_BIT_APPS
10# et al. since those variables make no sense in that context.
Ian Rogerscf331d92014-06-25 00:04:30 -070011ifneq ($(LOCAL_IS_HOST_MODULE),true)
12 my_symlink := $(addprefix $(TARGET_OUT)/bin/, $(LOCAL_MODULE))
13 ifeq ($(TARGET_IS_64_BIT),true)
Brian Carlstrom191e5982014-06-28 13:49:26 -070014 ifeq ($(TARGET_SUPPORTS_64_BIT_APPS)|$(TARGET_SUPPORTS_32_BIT_APPS),true|true)
15 # We support both 32 and 64 bit apps, so we will have to
16 # base our decision on whether the target prefers one or the
17 # other.
18 ifneq ($(TARGET_PREFER_32_BIT_APPS),true)
19 $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
20 else
21 $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
22 endif
23 else ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true)
24 # We support only 64 bit apps.
25 $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
Ian Rogerscf331d92014-06-25 00:04:30 -070026 else
Brian Carlstrom191e5982014-06-28 13:49:26 -070027 # We support only 32 bit apps.
28 $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
Ian Rogerscf331d92014-06-25 00:04:30 -070029 endif
Narayan Kamath79bc52a2014-06-17 16:36:08 +010030 else
Brian Carlstrom191e5982014-06-28 13:49:26 -070031 $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
Narayan Kamath79bc52a2014-06-17 16:36:08 +010032 endif
Yongqin Liud1d42e82014-05-07 12:41:24 +080033else
Ian Rogerscf331d92014-06-25 00:04:30 -070034 my_symlink := $(addprefix $(HOST_OUT)/bin/, $(LOCAL_MODULE))
35 ifneq ($(HOST_PREFER_32_BIT),true)
36$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_64)
37 else
38$(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
39 endif
Yongqin Liud1d42e82014-05-07 12:41:24 +080040endif
Yongqin Liud1d42e82014-05-07 12:41:24 +080041
42$(my_symlink): $(LOCAL_INSTALLED_MODULE) $(LOCAL_MODULE_MAKEFILE)
43 @echo "Symlink: $@ -> $(PRIVATE_SRC_BINARY_NAME)"
44 @mkdir -p $(dir $@)
45 @rm -rf $@
46 $(hide) ln -sf $(PRIVATE_SRC_BINARY_NAME) $@
47
48# We need this so that the installed files could be picked up based on the
49# local module name
50ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_symlink)
51
Ian Rogerscf331d92014-06-25 00:04:30 -070052# Create the symlink when you run mm/mmm or "make <module_name>"
53$(LOCAL_MODULE) : $(my_symlink)
54
Yongqin Liud1d42e82014-05-07 12:41:24 +080055my_symlink :=