blob: bc55ef94af7ae3ea4d9fcaf48f830051277fc8b9 [file] [log] [blame]
Dan Willemsened635cf2015-09-04 15:08:08 -07001LOCAL_IS_HOST_MODULE := true
Ying Wang6feb6d52014-04-17 10:03:35 -07002my_prefix := HOST_
Dan Willemsen057aaea2015-08-14 12:59:50 -07003LOCAL_HOST_PREFIX :=
Ying Wang6feb6d52014-04-17 10:03:35 -07004include $(BUILD_SYSTEM)/multilib.mk
5
Ying Wang6e85f8b2014-06-10 16:21:50 -07006ifndef LOCAL_MODULE_HOST_ARCH
Ying Wang6feb6d52014-04-17 10:03:35 -07007ifndef my_module_multilib
Ying Wang966c1e02014-05-20 14:43:51 -07008ifeq ($(HOST_PREFER_32_BIT),true)
9my_module_multilib := 32
10else
Ying Wang6feb6d52014-04-17 10:03:35 -070011# By default we only build host module for the first arch.
12my_module_multilib := first
The Android Open Source Project88b60792009-03-03 19:28:42 -080013endif
Ying Wang966c1e02014-05-20 14:43:51 -070014endif
Ying Wang6e85f8b2014-06-10 16:21:50 -070015endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080016
Tim Murray595d0db2014-09-03 15:01:46 -070017ifeq ($(LOCAL_NO_FPIE),)
18LOCAL_LDFLAGS += $(HOST_FPIE_FLAGS)
19endif
20
Ying Wang6feb6d52014-04-17 10:03:35 -070021ifeq ($(my_module_multilib),both)
22ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),)
23$(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 -080024endif
Ying Wang6feb6d52014-04-17 10:03:35 -070025ifeq ($(LOCAL_MODULE_PATH_64)$(LOCAL_MODULE_STEM_64),)
26$(error $(LOCAL_PATH): LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_64 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
27endif
28else #!LOCAL_MULTILIB == both
29LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true
Ying Wang63d94fa2012-12-13 18:23:01 -080030endif
31
Ying Wang6feb6d52014-04-17 10:03:35 -070032LOCAL_2ND_ARCH_VAR_PREFIX :=
33include $(BUILD_SYSTEM)/module_arch_supported.mk
Ying Wang63d94fa2012-12-13 18:23:01 -080034
Ying Wang6feb6d52014-04-17 10:03:35 -070035ifeq ($(my_module_arch_supported),true)
36include $(BUILD_SYSTEM)/host_executable_internal.mk
37endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080038
Ying Wang6feb6d52014-04-17 10:03:35 -070039ifdef HOST_2ND_ARCH
40LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
41include $(BUILD_SYSTEM)/module_arch_supported.mk
42ifeq ($(my_module_arch_supported),true)
43# Build for HOST_2ND_ARCH
44OVERRIDE_BUILT_MODULE_PATH :=
45LOCAL_BUILT_MODULE :=
46LOCAL_INSTALLED_MODULE :=
Ying Wang6feb6d52014-04-17 10:03:35 -070047LOCAL_INTERMEDIATE_TARGETS :=
Ying Wang63d94fa2012-12-13 18:23:01 -080048
Ying Wang6feb6d52014-04-17 10:03:35 -070049include $(BUILD_SYSTEM)/host_executable_internal.mk
50endif
51LOCAL_2ND_ARCH_VAR_PREFIX :=
52endif # HOST_2ND_ARCH
53
Dan Willemsen057aaea2015-08-14 12:59:50 -070054ifdef HOST_CROSS_OS
55my_prefix := HOST_CROSS_
56LOCAL_HOST_PREFIX := $(my_prefix)
57include $(BUILD_SYSTEM)/module_arch_supported.mk
58ifeq ($(my_module_arch_supported),true)
59# Build for Windows
60OVERRIDE_BUILT_MODULE_PATH :=
61# we don't want others using the cross compiled version
62saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
63saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
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_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
74LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
75endif
76LOCAL_HOST_PREFIX :=
77endif
78
Ying Wang6feb6d52014-04-17 10:03:35 -070079LOCAL_NO_2ND_ARCH_MODULE_SUFFIX :=
80my_module_arch_supported :=