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 15include $(CLEAR_VARS) 16 17LOCAL_ARM_MODE := arm 18ifeq ($(vg_build_second_arch),true) 19LOCAL_MULTILIB := 32 20vg_local_arch := $(TARGET_2ND_ARCH) 21else 22LOCAL_MULTILIB := first 23vg_local_arch := $(vg_arch) 24endif 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(?); 29ifeq ($(filter $TARGET_ARCH,x86 x86_64),) 30 LOCAL_CLANG := false 31endif 32 33LOCAL_MODULE := $(vg_local_module)-$(vg_local_arch)-linux 34 35LOCAL_SRC_FILES := $(vg_local_src_files) 36 37LOCAL_C_INCLUDES := $(common_includes) $(vg_local_c_includes) 38 39LOCAL_PACK_MODULE_RELOCATIONS := false 40 41LOCAL_CFLAGS := $(vg_local_cflags) 42LOCAL_CFLAGS_$(TARGET_ARCH) := $(vg_local_target_arch_cflags) 43LOCAL_CFLAGS_$(TARGET_2ND_ARCH) := $(vg_local_target_2nd_arch_cflags) 44 45LOCAL_ASFLAGS := $(common_cflags) 46LOCAL_ASFLAGS_$(TARGET_ARCH) := $(vg_local_target_arch_cflags) 47LOCAL_ASFLAGS_$(TARGET_2ND_ARCH) := $(vg_local_target_2nd_arch_cflags) 48 49 50LOCAL_LDFLAGS := $(vg_local_ldflags) 51 52LOCAL_MODULE_CLASS := $(vg_local_module_class) 53 54LOCAL_STATIC_LIBRARIES := \ 55 $(foreach l,$(vg_local_static_libraries),$l-$(vg_local_arch)-linux) 56LOCAL_WHOLE_STATIC_LIBRARIES := \ 57 $(foreach l,$(vg_local_whole_static_libraries),$l-$(vg_local_arch)-linux) 58 59ifeq ($(vg_local_target),EXECUTABLE) 60 LOCAL_FORCE_STATIC_EXECUTABLE := true 61 LOCAL_NO_FPIE := true 62endif 63 64ifneq ($(vg_local_target),STATIC_LIBRARY) 65 LOCAL_MODULE_PATH=$(PRODUCT_OUT)$(vg_target_module_path) 66endif 67 68ifeq ($(vg_local_without_system_shared_libraries),true) 69 LOCAL_SYSTEM_SHARED_LIBRARIES := 70endif 71 72ifeq ($(vg_local_no_crt),true) 73 LOCAL_NO_CRT := true 74endif 75 76include $(BUILD_$(vg_local_target)) 77 78