summaryrefslogtreecommitdiffstats
path: root/libc/string/Makefile.in
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-25 04:03:33 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-25 04:03:33 +0000
commitcb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8 (patch)
tree520f8e8d113184cfa7954ebd274564b8c255fa9a /libc/string/Makefile.in
parente4461be66e2655058aef358b00050bc70ac72861 (diff)
downloaduClibc-alpine-cb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8.tar.bz2
uClibc-alpine-cb6a88484ce0b5ffba2fe98a40e2d51f4af92eb8.tar.xz
Merge from trunk. Going pretty good so far. Kind of. Okay, not really.
Diffstat (limited to 'libc/string/Makefile.in')
-rw-r--r--libc/string/Makefile.in90
1 files changed, 62 insertions, 28 deletions
diff --git a/libc/string/Makefile.in b/libc/string/Makefile.in
index 4f96b8354..376316b7e 100644
--- a/libc/string/Makefile.in
+++ b/libc/string/Makefile.in
@@ -1,79 +1,113 @@
# 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.
#
-# order is relevant
--include $(top_srcdir)libc/string/$(TARGET_ARCH)/Makefile.arch
-include $(top_srcdir)libc/string/generic/Makefile.in
+#
+# Arch specific fun
+#
+STRING_ARCH_DIR := $(top_srcdir)libc/string/$(TARGET_ARCH)
+STRING_ARCH_OUT := $(top_builddir)libc/string/$(TARGET_ARCH)
+
+STRING_ARCH_SRC := $(wildcard $(STRING_ARCH_DIR)/*.c)
+STRING_ARCH_OBJ := $(patsubst $(STRING_ARCH_DIR)/%.c,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SRC))
+
+STRING_ARCH_SSRC := $(wildcard $(STRING_ARCH_DIR)/*.S)
+STRING_ARCH_SOBJ := $(patsubst $(STRING_ARCH_DIR)/%.S,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SSRC))
+
+STRING_ARCH_OBJS := $(STRING_ARCH_OBJ) $(STRING_ARCH_SOBJ)
+
+libc-$(UCLIBC_HAS_STRING_ARCH_OPT) += $(STRING_ARCH_OBJS)
+
+libc-nomulti-$(UCLIBC_HAS_STRING_ARCH_OPT) += $(STRING_ARCH_SOBJ)
+
+#
+# Generic stuff
+#
+STRING_GENERIC_DIR := $(top_srcdir)libc/string/generic
+STRING_GENERIC_OUT := $(top_builddir)libc/string/generic
-STRING_DIR:=$(top_srcdir)libc/string
-STRING_OUT:=$(top_builddir)libc/string
+STRING_GENERIC_SRC := $(wildcard $(STRING_GENERIC_DIR)/*.c)
+
+ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
+ifneq ($(strip $(STRING_ARCH_OBJS)),)
+STRING_GENERIC_SRC := $(filter-out $(patsubst %.o,$(STRING_GENERIC_DIR)/%.c,$(notdir $(STRING_ARCH_OBJS))),$(STRING_GENERIC_SRC))
+endif
+endif
+
+STRING_GENERIC_OBJS := $(patsubst $(STRING_GENERIC_DIR)/%.c,$(STRING_GENERIC_OUT)/%.o,$(STRING_GENERIC_SRC))
+
+libc-$(UCLIBC_HAS_STRING_GENERIC_OPT) += $(STRING_GENERIC_OBJS)
+
+#
+# Top level string
+#
+STRING_DIR := $(top_srcdir)libc/string
+STRING_OUT := $(top_builddir)libc/string
-STRING_ALL_WXSRC:=$(wildcard $(STRING_DIR)/w*_l.c)
+STRING_ALL_WXSRC := $(wildcard $(STRING_DIR)/w*_l.c)
ifeq ($(UCLIBC_HAS_LOCALE),y)
-STRING_WXSRC:=$(STRING_ALL_WXSRC)
+STRING_WXSRC := $(STRING_ALL_WXSRC)
else
# wcscoll_l
-STRING_WXSRC:=$(filter-out $(STRING_DIR)/wcsxfrm_l.c,$(STRING_ALL_WXSRC))
+STRING_WXSRC := $(filter-out $(STRING_DIR)/wcsxfrm_l.c,$(STRING_ALL_WXSRC))
endif
-STRING_ALL_XLSRC:=$(filter-out $(STRING_ALL_WXSRC),$(wildcard $(STRING_DIR)/*_l.c))
+STRING_ALL_XLSRC := $(filter-out $(STRING_ALL_WXSRC),$(wildcard $(STRING_DIR)/*_l.c))
ifeq ($(UCLIBC_HAS_LOCALE),y)
-STRING_XLSRC:=$(STRING_ALL_XLSRC)
+STRING_XLSRC := $(STRING_ALL_XLSRC)
else
# strcoll_l
-STRING_XLSRC:=$(filter-out $(STRING_DIR)/strxfrm_l.c,$(STRING_ALL_XLSRC))
+STRING_XLSRC := $(filter-out $(STRING_DIR)/strxfrm_l.c,$(STRING_ALL_XLSRC))
endif
-STRING_ALL_WSRC:=$(filter-out $(STRING_ALL_WXSRC),$(wildcard $(STRING_DIR)/w*.c))
+STRING_ALL_WSRC := $(filter-out $(STRING_ALL_WXSRC),$(wildcard $(STRING_DIR)/w*.c))
ifeq ($(UCLIBC_HAS_LOCALE),y)
-STRING_WSRC:=$(STRING_ALL_WSRC)
+STRING_WSRC := $(STRING_ALL_WSRC)
else
# wcscoll
-STRING_WSRC:=$(filter-out $(STRING_DIR)/wcsxfrm.c,$(STRING_ALL_WSRC))
+STRING_WSRC := $(filter-out $(STRING_DIR)/wcsxfrm.c,$(STRING_ALL_WSRC))
endif
-STRING_ALL_CSRC:=$(filter-out $(STRING_ALL_WXSRC) $(STRING_ALL_XLSRC) $(STRING_ALL_WSRC) $(STRING_DIR)/_collate.c,$(wildcard $(STRING_DIR)/*.c))
+STRING_ALL_CSRC := $(filter-out $(STRING_ALL_WXSRC) $(STRING_ALL_XLSRC) $(STRING_ALL_WSRC) $(STRING_DIR)/_collate.c,$(wildcard $(STRING_DIR)/*.c))
ifeq ($(UCLIBC_HAS_LOCALE),y)
-STRING_CSRC:=$(STRING_ALL_CSRC)
+STRING_CSRC := $(STRING_ALL_CSRC)
else
# strcoll
-STRING_CSRC:=$(filter-out $(STRING_DIR)/strxfrm.c,$(STRING_ALL_CSRC))
+STRING_CSRC := $(filter-out $(STRING_DIR)/strxfrm.c,$(STRING_ALL_CSRC))
endif
ifeq ($(UCLIBC_HAS_WCHAR),y)
-STRING_CSRC+=$(STRING_WSRC)
+STRING_CSRC += $(STRING_WSRC)
endif
ifeq ($(UCLIBC_HAS_XLOCALE),y)
-STRING_CSRC+=$(STRING_XLSRC)
+STRING_CSRC += $(STRING_XLSRC)
ifeq ($(UCLIBC_HAS_WCHAR),y)
-STRING_CSRC+=$(STRING_WXSRC)
+STRING_CSRC += $(STRING_WXSRC)
endif
endif
ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
ifneq ($(strip $(STRING_ARCH_OBJS)),)
-STRING_CSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_ARCH_OBJS))),$(STRING_CSRC))
+STRING_CSRC := $(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_ARCH_OBJS))),$(STRING_CSRC))
endif
endif
ifeq ($(UCLIBC_HAS_STRING_GENERIC_OPT),y)
ifneq ($(strip $(STRING_GENERIC_OBJS)),)
-STRING_CSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_GENERIC_OBJS))),$(STRING_CSRC))
+STRING_CSRC := $(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_GENERIC_OBJS))),$(STRING_CSRC))
endif
endif
-STRING_COBJ:=$(patsubst $(STRING_DIR)/%.c,$(STRING_OUT)/%.o,$(STRING_CSRC))
+STRING_COBJ := $(patsubst $(STRING_DIR)/%.c,$(STRING_OUT)/%.o,$(STRING_CSRC))
-libc-a-y+=$(STRING_COBJ)
-libc-so-y+=$(STRING_COBJ:.o=.os)
+libc-y += $(STRING_COBJ)
-libc-multi-y+=$(STRING_CSRC)
+libc-nomulti-$(UCLIBC_HAS_XLOCALE) += $(STRING_OUT)/wcsxfrm_l.o
-objclean-y+=string_objclean
+objclean-y += string_objclean
string_objclean:
$(RM) $(STRING_OUT)/{,*/}*.{o,os}