From 548f1e20925d7fd318dda846473a0f3fbc03a3a7 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Thu, 19 Jan 2006 20:43:50 +0000 Subject: Add multi support to libm, remove lib*-multi-y, unneeded --- libcrypt/Makefile.in | 2 -- libm/Makefile.in | 37 ++++++++++++++++++++----------------- libm/powerpc/Makefile.arch | 10 ++++------ libutil/Makefile.in | 2 -- 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/libcrypt/Makefile.in b/libcrypt/Makefile.in index 6e77e7383..b9c1ce921 100644 --- a/libcrypt/Makefile.in +++ b/libcrypt/Makefile.in @@ -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 diff --git a/libm/Makefile.in b/libm/Makefile.in index fa9429165..a5bd41ebe 100644 --- a/libm/Makefile.in +++ b/libm/Makefile.in @@ -1,6 +1,6 @@ # Makefile for uClibc # -# Copyright (C) 2000-2005 Erik Andersen +# Copyright (C) 2000-2006 Erik Andersen # # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # @@ -21,11 +21,7 @@ # 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} diff --git a/libm/powerpc/Makefile.arch b/libm/powerpc/Makefile.arch index 7eb68bb59..6615e901c 100644 --- a/libm/powerpc/Makefile.arch +++ b/libm/powerpc/Makefile.arch @@ -1,6 +1,6 @@ # Makefile for uClibc # -# Copyright (C) 2000-2005 Erik Andersen +# Copyright (C) 2000-2006 Erik Andersen # # 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 diff --git a/libutil/Makefile.in b/libutil/Makefile.in index 9aae3df99..cf3d72f05 100644 --- a/libutil/Makefile.in +++ b/libutil/Makefile.in @@ -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 -- cgit v1.2.3