34 lines
1.3 KiB
Makefile
34 lines
1.3 KiB
Makefile
ifeq ($(subdir),math)
|
|
#
|
|
# Some files which need to go both into libc and libm have external
|
|
# dependencies which need to be resolved differently for libc
|
|
# vs. libm. For example, inside libc, __libm_error_support needs to
|
|
# resolve to HIDDEN_JUMPTARGET(__libm_error_support) whereas within
|
|
# libm it always resolves to __libm_error_support. Such files need to
|
|
# be compiled twice. Fortunately, math/Makefile already has logic to
|
|
# support this: if a file starts with "s_", make will automatically
|
|
# generate a matching file whose name starts with "m_" which simply
|
|
# includes the corresponding "s_" file.
|
|
#
|
|
duplicated-routines = s_libm_ldexp s_libm_ldexpf s_libm_ldexpl \
|
|
s_libm_scalbn s_libm_scalbnf s_libm_scalbnl
|
|
|
|
libm-sysdep_routines += s_erfc s_erfcf s_erfcl \
|
|
s_matherrf s_matherrl libm_reduce \
|
|
libm_error \
|
|
libm_frexp libm_frexpf libm_frexpl \
|
|
libm_sincos libm_sincosf libm_sincosl \
|
|
libm_sincos_large \
|
|
libm_lgamma libm_lgammaf libm_lgammal \
|
|
libm_scalblnf \
|
|
$(duplicated-routines:s_%=m_%)
|
|
|
|
sysdep_routines += libc_libm_error libm_frexp libm_frexpf libm_frexpl \
|
|
$(duplicated-routines)
|
|
|
|
sysdep-CPPFLAGS += -include libm-symbols.h \
|
|
-D__POSIX__ \
|
|
-D_LIB_VERSIONIMF=_LIB_VERSION \
|
|
-DSIZE_INT_32 -DSIZE_LONG_INT_64 -DSIZE_LONG_LONG_INT_64
|
|
endif
|