github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/host_executable.mk (about)

     1  $(call record-module-type,HOST_EXECUTABLE)
     2  LOCAL_IS_HOST_MODULE := true
     3  my_prefix := HOST_
     4  LOCAL_HOST_PREFIX :=
     5  include $(BUILD_SYSTEM)/multilib.mk
     6  
     7  ifndef LOCAL_MODULE_HOST_ARCH
     8  ifndef my_module_multilib
     9  # By default we only build host module for the first arch.
    10  my_module_multilib := first
    11  endif
    12  endif
    13  
    14  ifeq ($(LOCAL_NO_FPIE),)
    15  LOCAL_LDFLAGS += $(HOST_FPIE_FLAGS)
    16  endif
    17  
    18  ifeq ($(my_module_multilib),both)
    19  ifneq ($(LOCAL_MODULE_CLASS),NATIVE_TESTS)
    20  ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),)
    21  $(error $(LOCAL_PATH): LOCAL_MODULE_STEM_32 or LOCAL_MODULE_PATH_32 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
    22  endif
    23  ifeq ($(LOCAL_MODULE_PATH_64)$(LOCAL_MODULE_STEM_64),)
    24  $(error $(LOCAL_PATH): LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_64 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
    25  endif
    26  endif
    27  else #!LOCAL_MULTILIB == both
    28  LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true
    29  endif
    30  
    31  LOCAL_2ND_ARCH_VAR_PREFIX :=
    32  include $(BUILD_SYSTEM)/module_arch_supported.mk
    33  
    34  ifeq ($(my_module_arch_supported),true)
    35  include $(BUILD_SYSTEM)/host_executable_internal.mk
    36  endif
    37  
    38  ifdef HOST_2ND_ARCH
    39  LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
    40  include $(BUILD_SYSTEM)/module_arch_supported.mk
    41  ifeq ($(my_module_arch_supported),true)
    42  # Build for HOST_2ND_ARCH
    43  OVERRIDE_BUILT_MODULE_PATH :=
    44  LOCAL_BUILT_MODULE :=
    45  LOCAL_INSTALLED_MODULE :=
    46  LOCAL_INTERMEDIATE_TARGETS :=
    47  
    48  include $(BUILD_SYSTEM)/host_executable_internal.mk
    49  endif
    50  LOCAL_2ND_ARCH_VAR_PREFIX :=
    51  endif  # HOST_2ND_ARCH
    52  
    53  ifdef HOST_CROSS_OS
    54  my_prefix := HOST_CROSS_
    55  LOCAL_HOST_PREFIX := $(my_prefix)
    56  include $(BUILD_SYSTEM)/module_arch_supported.mk
    57  ifeq ($(my_module_arch_supported),true)
    58  # Build for Windows
    59  OVERRIDE_BUILT_MODULE_PATH :=
    60  # we don't want others using the cross compiled version
    61  saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
    62  saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
    63  saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
    64  LOCAL_BUILT_MODULE :=
    65  LOCAL_INSTALLED_MODULE :=
    66  LOCAL_INTERMEDIATE_TARGETS :=
    67  
    68  ifeq ($(LOCAL_NO_FPIE),)
    69  LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
    70  endif
    71  
    72  include $(BUILD_SYSTEM)/host_executable_internal.mk
    73  LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
    74  LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
    75  LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
    76  endif
    77  
    78  ifdef HOST_CROSS_2ND_ARCH
    79  LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
    80  include $(BUILD_SYSTEM)/module_arch_supported.mk
    81  ifeq ($(my_module_arch_supported),true)
    82  OVERRIDE_BUILT_MODULE_PATH :=
    83  # we don't want others using the cross compiled version
    84  saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
    85  saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
    86  saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
    87  LOCAL_BUILT_MODULE :=
    88  LOCAL_INSTALLED_MODULE :=
    89  LOCAL_INTERMEDIATE_TARGETS :=
    90  
    91  ifeq ($(LOCAL_NO_FPIE),)
    92  LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
    93  endif
    94  
    95  include $(BUILD_SYSTEM)/host_executable_internal.mk
    96  LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
    97  LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
    98  LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
    99  endif
   100  LOCAL_2ND_ARCH_VAR_PREFIX :=
   101  endif
   102  LOCAL_HOST_PREFIX :=
   103  endif
   104  
   105  LOCAL_NO_2ND_ARCH_MODULE_SUFFIX :=
   106  my_module_arch_supported :=