Makefile.in 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # Makefile for uClibc
  2. #
  3. # Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
  4. #
  5. # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  6. #
  7. # order is relevant
  8. -include $(top_srcdir)libc/string/$(TARGET_ARCH)/Makefile.arch
  9. include $(top_srcdir)libc/string/generic/Makefile.in
  10. MSRC:=wstring.c
  11. MOBJ:= basename.o bcopy.o bzero.o dirname.o ffs.o memccpy.o \
  12. memrchr.o rawmemchr.o strcasecmp.o strcasestr.o \
  13. strncasecmp.o strndup.o strsep.o \
  14. strtok.o strerror.o __xpg_strerror_r.o \
  15. _string_syserrmsgs.o __glibc_strerror_r.o \
  16. _string_syssigmsgs.o sys_siglist.o strsignal.o psignal.o \
  17. __xpg_basename.o strlcat.o sys_errlist.o memmem.o
  18. MOBJW:=
  19. ifeq ($(UCLIBC_HAS_WCHAR),y)
  20. MOBJW:= wcscasecmp.o wcsncasecmp.o \
  21. wcsxfrm.o strxfrm.o # wcscoll strcoll.o
  22. endif
  23. MOBJx:=
  24. MOBJWx:=
  25. ifeq ($(UCLIBC_HAS_XLOCALE),y)
  26. MOBJx:=strcasecmp_l.o strncasecmp_l.o
  27. ifeq ($(UCLIBC_HAS_WCHAR),y)
  28. MOBJWx:=wcscasecmp_l.o wcsncasecmp_l.o wcsxfrm_l.o strxfrm_l.o
  29. endif
  30. endif
  31. #ffsl ffsll
  32. ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
  33. ifneq ($(strip $(STRING_ARCH_OBJS)),)
  34. MOBJ:=$(filter-out $(notdir $(STRING_ARCH_OBJS)),$(MOBJ))
  35. endif
  36. endif
  37. ifeq ($(UCLIBC_HAS_STRING_GENERIC_OPT),y)
  38. ifneq ($(strip $(STRING_GENERIC_OBJS)),)
  39. MOBJ:=$(filter-out $(notdir $(STRING_GENERIC_OBJS)),$(MOBJ))
  40. endif
  41. endif
  42. STRING_DIR:=$(top_srcdir)libc/string
  43. STRING_OUT:=$(top_builddir)libc/string
  44. STRING_WSRC:=$(filter-out $(STRING_DIR)/wstring.c,$(wildcard $(STRING_DIR)/w*.c))
  45. STRING_CSRC:=$(filter-out $(STRING_DIR)/wstring.c $(STRING_WSRC),$(wildcard $(STRING_DIR)/*.c))
  46. ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
  47. ifneq ($(strip $(STRING_ARCH_OBJS)),)
  48. MOBJ:=$(filter-out $(notdir $(STRING_ARCH_OBJS)),$(MOBJ))
  49. STRING_CSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_ARCH_OBJS))),$(STRING_CSRC))
  50. STRING_WSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_ARCH_OBJS))),$(STRING_WSRC))
  51. endif
  52. endif
  53. ifeq ($(UCLIBC_HAS_STRING_GENERIC_OPT),y)
  54. ifneq ($(strip $(STRING_GENERIC_OBJS)),)
  55. MOBJ:=$(filter-out $(notdir $(STRING_GENERIC_OBJS)),$(MOBJ))
  56. STRING_CSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_GENERIC_OBJS))),$(STRING_CSRC))
  57. STRING_WSRC:=$(filter-out $(patsubst %.o,$(STRING_DIR)/%.c,$(notdir $(STRING_GENERIC_OBJS))),$(STRING_WSRC))
  58. endif
  59. endif
  60. STRING_COBJ:=$(patsubst $(STRING_DIR)/%.c,$(STRING_OUT)/%.o,$(STRING_CSRC))
  61. ifeq ($(UCLIBC_HAS_WCHAR),y)
  62. STRING_WOBJ:=$(patsubst $(STRING_DIR)/%.c,$(STRING_OUT)/%.o,$(STRING_WSRC))
  63. endif
  64. STRING_MSRC:=$(patsubst %.c,$(STRING_DIR)/%.c,$(MSRC))
  65. STRING_MOBJ:=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJ))
  66. STRING_MOBJW:=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJW))
  67. STRING_MOBJx:=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJx))
  68. STRING_MOBJWx:=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJWx))
  69. STRING_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STRING_MOBJ))))
  70. STRING_Wx:=$(STRING_MOBJW) $(STRING_MOBJx) $(STRING_MOBJWx)
  71. STRING_OBJS:=$(STRING_COBJ) $(STRING_WOBJ) $(STRING_MOBJ) $(STRING_Wx)
  72. $(STRING_MOBJ): $(STRING_MSRC)
  73. $(compile.m)
  74. $(STRING_MOBJ:.o=.os): $(STRING_MSRC)
  75. $(compile.m)
  76. $(STRING_MOBJW): $(STRING_MSRC)
  77. $(compile.m) -DWANT_WIDE
  78. $(STRING_MOBJW:.o=.os): $(STRING_MSRC)
  79. $(compile.m) -DWANT_WIDE
  80. $(STRING_MOBJx): $(STRING_MSRC)
  81. $(compile.m) -D__UCLIBC_DO_XLOCALE
  82. $(STRING_MOBJx:.o=.os): $(STRING_MSRC)
  83. $(compile.m) -D__UCLIBC_DO_XLOCALE
  84. $(STRING_MOBJWx): $(STRING_MSRC)
  85. $(compile.m) -DWANT_WIDE -D__UCLIBC_DO_XLOCALE
  86. $(STRING_MOBJWx:.o=.os): $(STRING_MSRC)
  87. $(compile.m) -DWANT_WIDE -D__UCLIBC_DO_XLOCALE
  88. libc-a-y+=$(STRING_OBJS)
  89. libc-so-y+=$(STRING_OBJS:.o=.os)
  90. CFLAGS-multi-y+=$(STRING_DEF)
  91. libc-multi-y+=$(STRING_MSRC) $(STRING_CSRC) $(STRING_WSRC)
  92. libc-nomulti-y+=$(STRING_Wx)
  93. objclean-y+=string_objclean
  94. string_objclean:
  95. $(RM) $(STRING_OUT)/{,*/}*.{o,os}