1 #
2 # Copyright (C) 2014 The Android Open Source Project
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
17 include $(CLEAR_VARS)
18 LOCAL_ADDITIONAL_DEPENDENCIES := $(common_additional_dependencies)
20 LOCAL_MODULE := $(module)
21 LOCAL_MODULE_TAGS := $(module_tag)
22 ifeq ($(build_type),host)
23 # Always make host multilib
24 LOCAL_MULTILIB := both
25 endif
27 ifneq ($(findstring LIBRARY, $(build_target)),LIBRARY)
28 LOCAL_MODULE_STEM_32 := $(module)32
29 LOCAL_MODULE_STEM_64 := $(module)64
30 else
31 ifeq ($($(module)_install_to_out_data),true)
32 LOCAL_MODULE_PATH_32 := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS)/$(module)
33 LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)/$(module)
34 endif
35 endif
37 LOCAL_CLANG := $($(module)_clang_$(build_type))
39 ifneq ($($(module)_allow_asan),true)
40 LOCAL_ADDRESS_SANITIZER := false
41 endif
43 LOCAL_FORCE_STATIC_EXECUTABLE := $($(module)_force_static_executable)
45 LOCAL_ALLOW_UNDEFINED_SYMBOLS := $($(module)_allow_undefined_symbols)
47 ifneq ($($(module)_multilib),)
48 LOCAL_MULTILIB := $($(module)_multilib)
49 endif
51 LOCAL_CFLAGS := \
52 $(common_cflags) \
53 $($(module)_cflags) \
54 $($(module)_cflags_$(build_type)) \
56 LOCAL_CONLYFLAGS += \
57 $(common_conlyflags) \
58 $($(module)_conlyflags) \
59 $($(module)_conlyflags_$(build_type)) \
61 LOCAL_CPPFLAGS += \
62 $(common_cppflags) \
63 $($(module)_cppflags) \
64 $($(module)_cppflags_$(build_type)) \
66 LOCAL_C_INCLUDES := \
67 $(common_c_includes) \
68 $($(module)_c_includes) \
69 $($(module)_c_includes_$(build_type)) \
71 LOCAL_SRC_FILES := \
72 $($(module)_src_files) \
73 $($(module)_src_files_$(build_type)) \
75 LOCAL_STATIC_LIBRARIES := \
76 $($(module)_static_libraries) \
77 $($(module)_static_libraries_$(build_type)) \
79 LOCAL_SHARED_LIBRARIES := \
80 $($(module)_shared_libraries) \
81 $($(module)_shared_libraries_$(build_type)) \
83 LOCAL_WHOLE_STATIC_LIBRARIES := \
84 $($(module)_whole_static_libraries) \
85 $($(module)_whole_static_libraries_$(build_type)) \
87 LOCAL_LDFLAGS := \
88 $($(module)_ldflags) \
89 $($(module)_ldflags_$(build_type)) \
91 LOCAL_LDLIBS := \
92 $($(module)_ldlibs) \
93 $($(module)_ldlibs_$(build_type)) \
95 ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
96 LOCAL_CXX_STL := libc++_static
97 else
98 LOCAL_CXX_STL := libc++
99 endif
101 ifeq ($(build_type),target)
102 include $(BUILD_$(build_target))
103 endif
105 ifeq ($(build_type),host)
106 # Only build if host builds are supported.
107 ifeq ($(build_host),true)
108 include $(BUILD_HOST_$(build_target))
109 endif
110 endif