1 # Copyright (C) 2014 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 include $(CLEAR_VARS) 16 17 LOCAL_ARM_MODE := arm 18 ifeq ($(vg_build_second_arch),true) 19 LOCAL_MULTILIB := 32 20 vg_local_arch := $(TARGET_2ND_ARCH) 21 else 22 LOCAL_MULTILIB := first 23 vg_local_arch := $(vg_arch) 24 endif 25 26 # TODO: This workaround is to avoid calling memset from VG(memset) 27 # wrapper because of invalid clang optimization; This seems to be 28 # limited to amd64/x86 codegen(?); 29 ifeq ($(filter $TARGET_ARCH,x86 x86_64),) 30 LOCAL_CLANG := false 31 endif 32 33 LOCAL_MODULE := $(vg_local_module)-$(vg_local_arch)-linux 34 35 LOCAL_SRC_FILES := $(vg_local_src_files) 36 37 LOCAL_C_INCLUDES := $(common_includes) $(vg_local_c_includes) 38 39 LOCAL_PACK_MODULE_RELOCATIONS := false 40 41 LOCAL_CFLAGS := $(vg_local_cflags) 42 LOCAL_CFLAGS_$(TARGET_ARCH) := $(vg_local_target_arch_cflags) 43 LOCAL_CFLAGS_$(TARGET_2ND_ARCH) := $(vg_local_target_2nd_arch_cflags) 44 45 LOCAL_ASFLAGS := $(common_cflags) 46 LOCAL_ASFLAGS_$(TARGET_ARCH) := $(vg_local_target_arch_cflags) 47 LOCAL_ASFLAGS_$(TARGET_2ND_ARCH) := $(vg_local_target_2nd_arch_cflags) 48 49 50 LOCAL_LDFLAGS := $(vg_local_ldflags) 51 52 LOCAL_MODULE_CLASS := $(vg_local_module_class) 53 54 LOCAL_STATIC_LIBRARIES := \ 55 $(foreach l,$(vg_local_static_libraries),$l-$(vg_local_arch)-linux) 56 LOCAL_WHOLE_STATIC_LIBRARIES := \ 57 $(foreach l,$(vg_local_whole_static_libraries),$l-$(vg_local_arch)-linux) 58 59 ifeq ($(vg_local_target),EXECUTABLE) 60 LOCAL_FORCE_STATIC_EXECUTABLE := true 61 LOCAL_NO_FPIE := true 62 endif 63 64 ifneq ($(vg_local_target),STATIC_LIBRARY) 65 LOCAL_MODULE_PATH=$(PRODUCT_OUT)$(vg_target_module_path) 66 endif 67 68 ifeq ($(vg_local_without_system_shared_libraries),true) 69 LOCAL_SYSTEM_SHARED_LIBRARIES := 70 endif 71 72 ifeq ($(vg_local_no_crt),true) 73 LOCAL_NO_CRT := true 74 endif 75 76 include $(BUILD_$(vg_local_target)) 77 78