Home | History | Annotate | Download | only in fdlibm
      1 # Copyright (C) 2007 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 LOCAL_PATH:= $(call my-dir)
     16 
     17 #
     18 # Common definitions for host and device.
     19 #
     20 
     21 src_files := \
     22 	k_standard.c k_rem_pio2.c \
     23 	k_cos.c k_sin.c k_tan.c \
     24 	e_acos.c e_acosh.c e_asin.c e_atan2.c \
     25 	e_atanh.c e_cosh.c e_exp.c e_fmod.c \
     26 	e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \
     27 	e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \
     28 	e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
     29 	e_scalb.c e_sinh.c e_sqrt.c \
     30 	w_acos.c w_acosh.c w_asin.c w_atan2.c \
     31 	w_atanh.c w_cosh.c w_exp.c w_fmod.c \
     32 	w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \
     33 	w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
     34 	w_log.c w_log10.c w_pow.c w_remainder.c \
     35 	w_scalb.c w_sinh.c w_sqrt.c \
     36 	s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \
     37 	s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \
     38 	s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \
     39 	s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \
     40 	s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \
     41 	s_tan.c s_tanh.c
     42 
     43 # This is necessary to guarantee that the FDLIBM functions are in
     44 # "IEEE spirit", i.e. to guarantee that the IEEE 754 core functions
     45 # are used.
     46 cflags := "-D_LIB_VERSION_TYPE=\"const enum _IEEE_\""
     47 
     48 
     49 #
     50 # Build for the target (device).
     51 #
     52 
     53 include $(CLEAR_VARS)
     54 
     55 LOCAL_SRC_FILES:= $(src_files)
     56 LOCAL_CFLAGS := $(cflags)
     57 
     58 ifneq ($(filter $(TARGET_ARCH),arm x86),)
     59     # When __LITTLE_ENDIAN is set, the source will compile for
     60     # little endian cpus.
     61     LOCAL_CFLAGS += "-D__LITTLE_ENDIAN"
     62 endif
     63 
     64 LOCAL_MODULE := libfdlibm
     65 
     66 include $(BUILD_STATIC_LIBRARY)
     67 
     68 
     69 #
     70 # Build for the host.
     71 #
     72 
     73 ifeq ($(WITH_HOST_DALVIK),true)
     74 
     75     include $(CLEAR_VARS)
     76 
     77     LOCAL_SRC_FILES:= $(src_files)
     78     LOCAL_CFLAGS := $(cflags)
     79 
     80     ifneq ($(filter $(HOST_ARCH),arm x86),)
     81         # See similar section above.
     82         LOCAL_CFLAGS += "-D__LITTLE_ENDIAN"
     83     endif
     84 
     85     LOCAL_MODULE := libfdlibm-host
     86 
     87     include $(BUILD_HOST_STATIC_LIBRARY)
     88 
     89 endif
     90