CFLAGS+=-D_IEEE_LIBM -D_ISOC99_SOURCE -D_SVID_SOURCE
+CFLAGS-s_lib_version.c=-D_POSIX_MODE
+
#DOMULTI=n
LIB_NAME:=libm
ifeq ($(HAS_FPU),y)
--include $(top_srcdir)libm/$(TARGET_ARCH)/Makefile.in
+-include $(top_srcdir)libm/$(TARGET_ARCH)/Makefile.arch
endif
FL_MSRC:=float_wrappers.c
endif
endif
-LIBM_NO_MULTI:=s_lib_version.c w_cabs.c
+ifneq ($(DOMULTI),n)
+ifeq ($(DO_C99_MATH),y)
+LIBM_NO_MULTI:=s_lib_version.c
CSRC:=$(filter-out $(LIBM_NO_MULTI),$(CSRC))
+endif
+endif
libm_SRC:=$(patsubst %.c,$(libm_DIR)/%.c,$(CSRC))
libm_OBJ:=$(patsubst $(libm_DIR)/%.c,$(libm_OUT)/%.o,$(libm_SRC))
libm_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(libm_MOBJ))))
-libm_OBJS:=$(libm_OBJ) $(libm_MOBJ) $(patsubst %.c,$(libm_OUT)/%.o,$(LIBM_NO_MULTI))
+libm_OBJS:=$(libm_OBJ) $(libm_MOBJ)
+ifneq ($(DOMULTI),n)
+ifeq ($(DO_C99_MATH),y)
+libm_OBJS+=$(patsubst %.c,$(libm_OUT)/%.o,$(LIBM_NO_MULTI))
+endif
+endif
+
+$(libm_MOBJ): $(libm_MSRC)
+ $(compile.m)
-$(libm_MOBJ) $(libm_MOBJ:.o=.os): $(libm_MSRC)
+$(libm_MOBJ:.o=.os): $(libm_MSRC)
$(compile.m)
libm-a-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS)
-libm-a-pic-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS:.o=.os)
libm-so-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS:.o=.os)
CFLAGS-multi-$(UCLIBC_HAS_FLOATS)+=$(libm_DEF)
libm-multi-$(UCLIBC_HAS_FLOATS)+=$(libm_SRC) $(libm_MSRC)
-#libm-multi-$(UCLIBC_HAS_FLOATS)+=$(libm_MSRC)
-#libm-nomulti-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJ)
+ifeq ($(DO_C99_MATH),y)
libm-nomulti-$(UCLIBC_HAS_FLOATS)+=$(patsubst %.c,$(libm_OUT)/%.o,$(LIBM_NO_MULTI))
+endif
objclean-y+=libm_clean
lib-a-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.a
-lib-a-pic-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.a
lib-so-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.so