blob: a2111a1eb484cd5e7a402d167de8b5c9c65006e6 [file] [log] [blame]
Dan Willemsen3bf15e72016-07-25 16:03:53 -07001$(call record-module-type,HOST_EXECUTABLE)
Dan Willemsened635cf2015-09-04 15:08:08 -07002LOCAL_IS_HOST_MODULE := true
Ying Wang6feb6d52014-04-17 10:03:35 -07003my_prefix := HOST_
Dan Willemsen057aaea2015-08-14 12:59:50 -07004LOCAL_HOST_PREFIX :=
Ying Wang6feb6d52014-04-17 10:03:35 -07005include $(BUILD_SYSTEM)/multilib.mk
6
Ying Wang6e85f8b2014-06-10 16:21:50 -07007ifndef LOCAL_MODULE_HOST_ARCH
Ying Wang6feb6d52014-04-17 10:03:35 -07008ifndef my_module_multilib
9# By default we only build host module for the first arch.
10my_module_multilib := first
The Android Open Source Project88b60792009-03-03 19:28:42 -080011endif
Ying Wang966c1e02014-05-20 14:43:51 -070012endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080013
Ying Wang6feb6d52014-04-17 10:03:35 -070014ifeq ($(my_module_multilib),both)
Dan Willemsen7fe992c2016-03-02 13:54:51 -080015ifneq ($(LOCAL_MODULE_CLASS),NATIVE_TESTS)
Ying Wang6feb6d52014-04-17 10:03:35 -070016ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),)
17$(error $(LOCAL_PATH): LOCAL_MODULE_STEM_32 or LOCAL_MODULE_PATH_32 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
Ying Wang63d94fa2012-12-13 18:23:01 -080018endif
Ying Wang6feb6d52014-04-17 10:03:35 -070019ifeq ($(LOCAL_MODULE_PATH_64)$(LOCAL_MODULE_STEM_64),)
20$(error $(LOCAL_PATH): LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_64 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
21endif
Dan Willemsen7fe992c2016-03-02 13:54:51 -080022endif
Ying Wang6feb6d52014-04-17 10:03:35 -070023else #!LOCAL_MULTILIB == both
24LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true
Ying Wang63d94fa2012-12-13 18:23:01 -080025endif
26
Ying Wang6feb6d52014-04-17 10:03:35 -070027LOCAL_2ND_ARCH_VAR_PREFIX :=
28include $(BUILD_SYSTEM)/module_arch_supported.mk
Ying Wang63d94fa2012-12-13 18:23:01 -080029
Ying Wang6feb6d52014-04-17 10:03:35 -070030ifeq ($(my_module_arch_supported),true)
31include $(BUILD_SYSTEM)/host_executable_internal.mk
32endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080033
Ying Wang6feb6d52014-04-17 10:03:35 -070034ifdef HOST_2ND_ARCH
35LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
36include $(BUILD_SYSTEM)/module_arch_supported.mk
37ifeq ($(my_module_arch_supported),true)
38# Build for HOST_2ND_ARCH
Ying Wang6feb6d52014-04-17 10:03:35 -070039LOCAL_BUILT_MODULE :=
40LOCAL_INSTALLED_MODULE :=
Ying Wang6feb6d52014-04-17 10:03:35 -070041LOCAL_INTERMEDIATE_TARGETS :=
Ying Wang63d94fa2012-12-13 18:23:01 -080042
Ying Wang6feb6d52014-04-17 10:03:35 -070043include $(BUILD_SYSTEM)/host_executable_internal.mk
44endif
45LOCAL_2ND_ARCH_VAR_PREFIX :=
46endif # HOST_2ND_ARCH
47
Dan Willemsen057aaea2015-08-14 12:59:50 -070048ifdef HOST_CROSS_OS
49my_prefix := HOST_CROSS_
50LOCAL_HOST_PREFIX := $(my_prefix)
51include $(BUILD_SYSTEM)/module_arch_supported.mk
52ifeq ($(my_module_arch_supported),true)
53# Build for Windows
Dan Willemsen057aaea2015-08-14 12:59:50 -070054# we don't want others using the cross compiled version
55saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
56saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
Dan Willemsen9ecbf832016-02-05 16:20:19 -080057saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
Dan Willemsen057aaea2015-08-14 12:59:50 -070058LOCAL_BUILT_MODULE :=
59LOCAL_INSTALLED_MODULE :=
60LOCAL_INTERMEDIATE_TARGETS :=
61
Dan Willemsen057aaea2015-08-14 12:59:50 -070062include $(BUILD_SYSTEM)/host_executable_internal.mk
Dan Willemsen9ecbf832016-02-05 16:20:19 -080063LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
Dan Willemsen057aaea2015-08-14 12:59:50 -070064LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
65LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
66endif
Dan Willemsen9ecbf832016-02-05 16:20:19 -080067
68ifdef HOST_CROSS_2ND_ARCH
69LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
70include $(BUILD_SYSTEM)/module_arch_supported.mk
71ifeq ($(my_module_arch_supported),true)
Dan Willemsen9ecbf832016-02-05 16:20:19 -080072# we don't want others using the cross compiled version
73saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
74saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
75saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
76LOCAL_BUILT_MODULE :=
77LOCAL_INSTALLED_MODULE :=
78LOCAL_INTERMEDIATE_TARGETS :=
79
Dan Willemsen9ecbf832016-02-05 16:20:19 -080080include $(BUILD_SYSTEM)/host_executable_internal.mk
81LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
82LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
83LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
84endif
85LOCAL_2ND_ARCH_VAR_PREFIX :=
86endif
Dan Willemsen057aaea2015-08-14 12:59:50 -070087LOCAL_HOST_PREFIX :=
88endif
89
Ying Wang6feb6d52014-04-17 10:03:35 -070090LOCAL_NO_2ND_ARCH_MODULE_SUFFIX :=
91my_module_arch_supported :=