Android.mk revision 97ac43c7cf39e8ad2719b4f395093e7415280577
1dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 2dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Copyright (C) 2012 The Android Open Source Project 3dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 4dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Licensed under the Apache License, Version 2.0 (the "License"); 5dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# you may not use this file except in compliance with the License. 6dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# You may obtain a copy of the License at 7dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 8dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# http://www.apache.org/licenses/LICENSE-2.0 9dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 10dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Unless required by applicable law or agreed to in writing, software 11dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# distributed under the License is distributed on an "AS IS" BASIS, 12dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# See the License for the specific language governing permissions and 14dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# limitations under the License. 15dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 16dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 17dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 18dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_PATH := $(call my-dir) 19a115c66324ba21157560991d1527ca831d72f344Stephen HinesCOMPILER_RT_PATH := $(LOCAL_PATH) 20dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 21dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 22dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Device Static Library: libbccCompilerRT 23dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 24dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 25dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(CLEAR_VARS) 26dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 27dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE := libcompiler-rt 28dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_TAGS := optional 29dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_CLASS := STATIC_LIBRARIES 30dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_CLANG := true 31dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_CFLAGS := -integrated-as 3253b9203fa772b4325e83be533499328752f2b788Stephen Hinesifeq ($(TARGET_ARCH),arm) 3353b9203fa772b4325e83be533499328752f2b788Stephen HinesLOCAL_CFLAGS += -D__ARM_EABI__ 3453b9203fa772b4325e83be533499328752f2b788Stephen Hinesendif 35c9803832e94cb7ad5abecd3474da948de4277b58Ying Wang# TODO: split out the asflags. 36c9803832e94cb7ad5abecd3474da948de4277b58Ying WangLOCAL_ASFLAGS := $(LOCAL_CFLAGS) 3797ac43c7cf39e8ad2719b4f395093e7415280577Stephen HinesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 38dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 39a115c66324ba21157560991d1527ca831d72f344Stephen Hines# Pull in platform-independent functionality 40d1a2f446e04701b98b723f3eb315bbc9722dad74Stephen HinesLOCAL_WHOLE_STATIC_LIBRARIES += libcompiler-rt-builtins libcompiler-rt-extras 41a115c66324ba21157560991d1527ca831d72f344Stephen Hines 42dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovifeq ($(TARGET_ARCH),arm) 43dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov LOCAL_SRC_FILES += \ 44dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/adddf3vfp.S \ 45dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/addsf3vfp.S \ 46dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/divdf3vfp.S \ 47dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/divsf3vfp.S \ 48dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/eqdf2vfp.S \ 49dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/eqsf2vfp.S \ 50dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/extendsfdf2vfp.S \ 51dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixdfsivfp.S \ 52dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixsfsivfp.S \ 53dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixunsdfsivfp.S \ 54dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixunssfsivfp.S \ 55dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatsidfvfp.S \ 56dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatsisfvfp.S \ 57dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatunssidfvfp.S \ 58dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatunssisfvfp.S \ 59dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gedf2vfp.S \ 60dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gesf2vfp.S \ 61dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gtdf2vfp.S \ 62dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gtsf2vfp.S \ 63dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ledf2vfp.S \ 64dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/lesf2vfp.S \ 65dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ltdf2vfp.S \ 66dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ltsf2vfp.S \ 67dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/muldf3vfp.S \ 68dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/mulsf3vfp.S \ 69dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/nedf2vfp.S \ 70dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/negdf2vfp.S \ 71dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/negsf2vfp.S \ 72dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/nesf2vfp.S \ 73dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/subdf3vfp.S \ 74dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/subsf3vfp.S \ 75dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/truncdfsf2vfp.S \ 76dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/unorddf2vfp.S \ 7772cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray lib/arm/unordsf2vfp.S \ 7872cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray lib/arm/aeabi_ldivmod.S \ 7972cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray lib/arm/aeabi_uldivmod.S 80dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovelse 81dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov ifeq ($(TARGET_ARCH),x86) # We don't support x86-64 right now 82dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov LOCAL_SRC_FILES += \ 83dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/ashldi3.S \ 84dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/ashrdi3.S \ 85dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/divdi3.S \ 86dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdidf.S \ 87dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdisf.S \ 88dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdixf.S \ 89dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundidf.S \ 90dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundisf.S \ 91dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundixf.S \ 92dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/lshrdi3.S \ 93dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/moddi3.S \ 94dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/muldi3.S \ 95dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/udivdi3.S \ 96dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/umoddi3.S 97dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov else 98ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park ifeq ($(TARGET_ARCH),mips) 99ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park # nothing to add 100ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park else 101ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park $(error Unsupported TARGET_ARCH $(TARGET_ARCH)) 102ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park endif 103dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov endif 104dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovendif 105dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 106dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(BUILD_STATIC_LIBRARY) 107dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 108a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/Android.mk 109dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 110a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/asan/Android.mk 111