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