1 # 2 # Copyright (C) 2016 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 # 16 17 include $(CLEAR_VARS) 18 LOCAL_ADDITIONAL_DEPENDENCIES := $(common_additional_dependencies) 19 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 26 27 ifneq ($(findstring LIBRARY, $(build_target)),LIBRARY) 28 LOCAL_MODULE_STEM_32 := $(module)32 29 LOCAL_MODULE_STEM_64 := $(module)64 30 else 31 32 ifneq ($($(module)_install_to_out_data_dir),) 33 $(module)_install_to_out_data := true 34 endif 35 36 ifeq ($($(module)_install_to_out_data),true) 37 ifeq ($($(module)_install_to_out_data_dir),) 38 $(module)_install_to_out_data_dir := $(module) 39 endif 40 LOCAL_MODULE_PATH_32 := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS)/$($(module)_install_to_out_data_dir) 41 LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)/$($(module)_install_to_out_data_dir) 42 endif 43 endif 44 45 ifneq ($($(module)_allow_asan),true) 46 LOCAL_SANITIZE := never 47 endif 48 49 LOCAL_FORCE_STATIC_EXECUTABLE := $($(module)_force_static_executable) 50 51 LOCAL_ALLOW_UNDEFINED_SYMBOLS := $($(module)_allow_undefined_symbols) 52 53 ifneq ($($(module)_multilib),) 54 LOCAL_MULTILIB := $($(module)_multilib) 55 endif 56 57 ifneq ($($(module)_relative_path),) 58 LOCAL_MODULE_RELATIVE_PATH := $($(module)_relative_path) 59 endif 60 61 LOCAL_CFLAGS := \ 62 $(common_cflags) \ 63 $($(module)_cflags) \ 64 $($(module)_cflags_$(build_type)) \ 65 66 LOCAL_CONLYFLAGS += \ 67 $(common_conlyflags) \ 68 $($(module)_conlyflags) \ 69 $($(module)_conlyflags_$(build_type)) \ 70 71 LOCAL_CPPFLAGS += \ 72 $(common_cppflags) \ 73 $($(module)_cppflags) \ 74 $($(module)_cppflags_$(build_type)) \ 75 76 LOCAL_C_INCLUDES := \ 77 $(common_c_includes) \ 78 $($(module)_c_includes) \ 79 $($(module)_c_includes_$(build_type)) \ 80 81 LOCAL_SRC_FILES := \ 82 $($(module)_src_files) \ 83 $($(module)_src_files_$(build_type)) \ 84 85 LOCAL_STATIC_LIBRARIES := \ 86 $($(module)_static_libraries) \ 87 $($(module)_static_libraries_$(build_type)) \ 88 89 LOCAL_SHARED_LIBRARIES := \ 90 $($(module)_shared_libraries) \ 91 $($(module)_shared_libraries_$(build_type)) \ 92 93 LOCAL_WHOLE_STATIC_LIBRARIES := \ 94 $($(module)_whole_static_libraries) \ 95 $($(module)_whole_static_libraries_$(build_type)) \ 96 97 LOCAL_LDFLAGS := \ 98 $($(module)_ldflags) \ 99 $($(module)_ldflags_$(build_type)) \ 100 101 LOCAL_LDLIBS := \ 102 $($(module)_ldlibs) \ 103 $($(module)_ldlibs_$(build_type)) \ 104 105 ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) 106 LOCAL_CXX_STL := libc++_static 107 else 108 LOCAL_CXX_STL := libc++ 109 endif 110 111 ifeq ($(build_type),target) 112 include $(BUILD_$(build_target)) 113 endif 114 115 ifeq ($(build_type),host) 116 # Only build if host builds are supported. 117 ifeq ($(build_host),true) 118 include $(BUILD_HOST_$(build_target)) 119 endif 120 endif 121