1684b32620
Creates a build_system_stats.txt build artifact that contains statistics on how many BUILD_* modules are defined in a build. Also writes out information about the Soong module types sent from the Soong build. Change-Id: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
110 lines
3.2 KiB
Makefile
110 lines
3.2 KiB
Makefile
$(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
|
|
ifeq ($(HOST_PREFER_32_BIT),true)
|
|
my_module_multilib := 32
|
|
else
|
|
# By default we only build host module for the first arch.
|
|
my_module_multilib := first
|
|
endif
|
|
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 :=
|