OSDN Git Service

Add multi support to libm, remove lib*-multi-y, unneeded
authorPeter S. Mazinger <ps.m@gmx.net>
Thu, 19 Jan 2006 20:43:50 +0000 (20:43 -0000)
committerPeter S. Mazinger <ps.m@gmx.net>
Thu, 19 Jan 2006 20:43:50 +0000 (20:43 -0000)
libcrypt/Makefile.in
libm/Makefile.in
libm/powerpc/Makefile.arch
libutil/Makefile.in

index 6e77e73..b9c1ce9 100644 (file)
@@ -27,8 +27,6 @@ libcrypt-a-y := $(libcrypt_OBJ)
 endif
 libcrypt-so-y := $(libcrypt_OBJ:.o=.os)
 
-libcrypt-multi-y := $(libcrypt_SRC)
-
 lib-a-y += $(top_builddir)lib/libcrypt.a
 lib-so-y += $(top_builddir)lib/libcrypt.so
 objclean-y += libcrypt_clean
index fa94291..a5bd41e 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for uClibc
 #
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
 #
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 #
 
 CFLAGS-libm := -DNOT_IN_libc -DIS_IN_libm $(SSP_ALL_CFLAGS)
-CFLAGS-libm += -D_IEEE_LIBM -D_ISOC99_SOURCE -D_SVID_SOURCE
-
-CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
-
-CFLAGS-s_lib_version.c := -D_POSIX_MODE
+CFLAGS-libm += -D_IEEE_LIBM -D_ISOC99_SOURCE -D_SVID_SOURCE -D_POSIX_MODE
 
 LDFLAGS-libm.so := $(LDFLAGS)
 
@@ -34,8 +30,10 @@ LIBS-libm.so := $(LIBS)
 libm_FULL_NAME := libm-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
 
 ifeq ($(UCLIBC_HAS_FPU),y)
+ifeq ($(DO_C99_MATH),y)
 -include $(top_srcdir)libm/$(TARGET_ARCH)/Makefile.arch
 endif
+endif
 
 FL_MSRC := float_wrappers.c
 
@@ -85,7 +83,9 @@ libm_OUT := $(top_builddir)libm
 
 # assume that arch specific versions are provided as single sources/objects
 ifeq ($(UCLIBC_HAS_FPU),y)
+ifeq ($(DO_C99_MATH),y)
 ifneq ($(strip $(libm_ARCH_OBJS)),)
+CFLAGS-libm/$(TARGET_ARCH)/ := $(CFLAGS-libm)
 
 # remove generic sources, if arch specific version is present
 ifneq ($(strip $(libm_ARCH_SRC)),)
@@ -99,12 +99,6 @@ FL_MOBJ := $(filter-out $(notdir $(libm_ARCH_OBJS)),$(FL_MOBJ))
 FL_MOBJ := $(filter-out $(patsubst s_%.o,%.o,$(notdir $(libm_ARCH_OBJS))),$(FL_MOBJ))
 endif
 endif
-
-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))
@@ -113,7 +107,10 @@ libm_OBJ := $(patsubst $(libm_DIR)/%.c,$(libm_OUT)/%.o,$(libm_SRC))
 libm_MSRC := $(libm_DIR)/$(FL_MSRC)
 libm_MOBJ := $(patsubst %.o,$(libm_OUT)/%.o,$(FL_MOBJ))
 
+ifeq ($(DOMULTI),y)
 libm_DEF := $(patsubst %,-DL_%,$(subst .o,,$(notdir $(libm_MOBJ))))
+CFLAGS-libm += $(libm_DEF)
+endif
 
 libm_OBJS := $(libm_OBJ) $(libm_MOBJ)
 
@@ -124,26 +121,32 @@ libm-a-y += $(libm_OBJS)
 endif
 libm-so-y += $(libm_OBJS:.o=.os)
 
-CFLAGS-multi-y := $(libm_DEF)
-libm-multi-y += $(libm_SRC) $(libm_MSRC)
-libm-nomulti-$(DO_C99_MATH) += $(patsubst %.c,$(libm_OUT)/%.o,$(LIBM_NO_MULTI))
-
 lib-a-$(UCLIBC_HAS_FLOATS) += $(top_builddir)lib/libm.a
 lib-so-$(UCLIBC_HAS_FLOATS) += $(top_builddir)lib/libm.so
 objclean-y += libm_clean
 
+ifeq ($(DOMULTI),n)
 ifeq ($(DOPIC),y)
 $(top_builddir)lib/libm.so: $(top_builddir)lib/libm.a $(libc)
 else
 $(top_builddir)lib/libm.so: $(libm_OUT)/libm_so.a $(libc)
 endif
        $(call link.so,$(libm_FULL_NAME),$(MAJOR_VERSION))
+else
+$(top_builddir)lib/libm.so: $(libm_OUT)/libm.oS $(libc)
+       $(call linkm.so,$(libm_FULL_NAME),$(MAJOR_VERSION))
+endif
 
 $(libm_OUT)/libm_so.a: $(libm-so-y)
        $(Q)$(RM) $@
        $(do_strip)
        $(do_ar)
 
+$(libm_OUT)/libm.oS: $(libm_SRC) $(libm_MSRC) $(libm_ARCH_SRC)
+       $(Q)$(RM) $@
+       $(compile-m)
+       $(do_t_strip)
+
 $(top_builddir)lib/libm.a: $(libm-a-y)
        $(Q)$(INSTALL) -d $(dir $@)
        $(Q)$(RM) $@
@@ -157,4 +160,4 @@ $(libm_MOBJ:.o=.os): $(libm_MSRC)
        $(compile.m)
 
 libm_clean:
-       $(RM) $(libm_OUT)/*.{o,os,a}
+       $(RM) $(libm_OUT)/*.{o,os,oS,a}
index 7eb68bb..6615e90 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for uClibc
 #
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
 #
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
@@ -14,13 +14,11 @@ libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_DIR)/%.c,$(libm_ARCH_OUT)/%.o,$(libm_ARCH_
 libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
 
 ifeq ($(DOPIC),y)
-libm-a-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
+libm-a-y+=$(libm_ARCH_OBJS:.o=.os)
 else
-libm-a-$(DO_C99_MATH)+=$(libm_ARCH_OBJS)
+libm-a-y+=$(libm_ARCH_OBJS)
 endif
-libm-so-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
-
-libm-multi-$(DO_C99_MATH)+=$(libm_ARCH_SRC)
+libm-so-y+=$(libm_ARCH_OBJS:.o=.os)
 
 objclean-y+=libm_arch_objclean
 
index 9aae3df..cf3d72f 100644 (file)
@@ -29,8 +29,6 @@ libutil-a-y := $(libutil_OBJ)
 endif
 libutil-so-y := $(libutil_OBJ:.o=.os)
 
-libutil-multi-y := $(libutil_SRC)
-
 lib-a-y += $(top_builddir)lib/libutil.a
 lib-so-y += $(top_builddir)lib/libutil.so
 objclean-y += libutil_clean