You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.1 KiB
106 lines
3.1 KiB
$(call record-module-type,HOST_EXECUTABLE) |
|
LOCAL_IS_HOST_MODULE := true |
|
my_prefix := HOST_ |
|
LOCAL_HOST_PREFIX := |
|
include $(BUILD_SYSTEM)/multilib.mk |
|
|
|
ifndef LOCAL_MODULE_HOST_ARCH |
|
ifndef my_module_multilib |
|
# By default we only build host module for the first arch. |
|
my_module_multilib := first |
|
endif |
|
endif |
|
|
|
ifeq ($(LOCAL_NO_FPIE),) |
|
LOCAL_LDFLAGS += $(HOST_FPIE_FLAGS) |
|
endif |
|
|
|
ifeq ($(my_module_multilib),both) |
|
ifneq ($(LOCAL_MODULE_CLASS),NATIVE_TESTS) |
|
ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),) |
|
$(error $(LOCAL_PATH): LOCAL_MODULE_STEM_32 or LOCAL_MODULE_PATH_32 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE)) |
|
endif |
|
ifeq ($(LOCAL_MODULE_PATH_64)$(LOCAL_MODULE_STEM_64),) |
|
$(error $(LOCAL_PATH): LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_64 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE)) |
|
endif |
|
endif |
|
else #!LOCAL_MULTILIB == both |
|
LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true |
|
endif |
|
|
|
LOCAL_2ND_ARCH_VAR_PREFIX := |
|
include $(BUILD_SYSTEM)/module_arch_supported.mk |
|
|
|
ifeq ($(my_module_arch_supported),true) |
|
include $(BUILD_SYSTEM)/host_executable_internal.mk |
|
endif |
|
|
|
ifdef HOST_2ND_ARCH |
|
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) |
|
include $(BUILD_SYSTEM)/module_arch_supported.mk |
|
ifeq ($(my_module_arch_supported),true) |
|
# Build for HOST_2ND_ARCH |
|
OVERRIDE_BUILT_MODULE_PATH := |
|
LOCAL_BUILT_MODULE := |
|
LOCAL_INSTALLED_MODULE := |
|
LOCAL_INTERMEDIATE_TARGETS := |
|
|
|
include $(BUILD_SYSTEM)/host_executable_internal.mk |
|
endif |
|
LOCAL_2ND_ARCH_VAR_PREFIX := |
|
endif # HOST_2ND_ARCH |
|
|
|
ifdef HOST_CROSS_OS |
|
my_prefix := HOST_CROSS_ |
|
LOCAL_HOST_PREFIX := $(my_prefix) |
|
include $(BUILD_SYSTEM)/module_arch_supported.mk |
|
ifeq ($(my_module_arch_supported),true) |
|
# Build for Windows |
|
OVERRIDE_BUILT_MODULE_PATH := |
|
# we don't want others using the cross compiled version |
|
saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE) |
|
saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) |
|
saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS) |
|
LOCAL_BUILT_MODULE := |
|
LOCAL_INSTALLED_MODULE := |
|
LOCAL_INTERMEDIATE_TARGETS := |
|
|
|
ifeq ($(LOCAL_NO_FPIE),) |
|
LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS) |
|
endif |
|
|
|
include $(BUILD_SYSTEM)/host_executable_internal.mk |
|
LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS) |
|
LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE) |
|
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE) |
|
endif |
|
|
|
ifdef HOST_CROSS_2ND_ARCH |
|
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX) |
|
include $(BUILD_SYSTEM)/module_arch_supported.mk |
|
ifeq ($(my_module_arch_supported),true) |
|
OVERRIDE_BUILT_MODULE_PATH := |
|
# we don't want others using the cross compiled version |
|
saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE) |
|
saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE) |
|
saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS) |
|
LOCAL_BUILT_MODULE := |
|
LOCAL_INSTALLED_MODULE := |
|
LOCAL_INTERMEDIATE_TARGETS := |
|
|
|
ifeq ($(LOCAL_NO_FPIE),) |
|
LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS) |
|
endif |
|
|
|
include $(BUILD_SYSTEM)/host_executable_internal.mk |
|
LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS) |
|
LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE) |
|
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE) |
|
endif |
|
LOCAL_2ND_ARCH_VAR_PREFIX := |
|
endif |
|
LOCAL_HOST_PREFIX := |
|
endif |
|
|
|
LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := |
|
my_module_arch_supported :=
|
|
|