OSDN Git Service

Update Security String to 2016-11-01 b/31618336 am: 2a03720e6c am: bf8a1cef72
[android-x86/build.git] / core / executable_prefer_symlink.mk
1 # 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
7 # 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.
11 ifneq ($(LOCAL_IS_HOST_MODULE),true)
12   my_symlink := $(addprefix $(TARGET_OUT)/bin/, $(LOCAL_MODULE))
13   ifeq ($(TARGET_IS_64_BIT),true)
14     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       ifeq ($(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)
26     else
27       # We support only 32 bit apps.
28       $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
29     endif
30   else
31     $(my_symlink): PRIVATE_SRC_BINARY_NAME := $(LOCAL_MODULE_STEM_32)
32   endif
33 else
34   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
40 endif
41
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
50 ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_symlink)
51
52 # Create the symlink when you run mm/mmm or "make <module_name>"
53 $(LOCAL_MODULE) : $(my_symlink)
54
55 my_symlink :=