# Makefile for uClibc
#
-# Copyright (C) 2000 by Lineo, inc.
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CFLAGS+=$(SSP_ALL_CFLAGS)
+subdirs += libintl
-#DOMULTI=y
+CFLAGS-libintl := -DNOT_IN_libc -DIS_IN_libintl $(SSP_ALL_CFLAGS)
-LIB_NAME:=libintl
+LDFLAGS-libintl.so := $(LDFLAGS)
-MOBJ:=gettext.o ngettext.o dgettext.o dcgettext.o dngettext.o dcngettext.o \
+LIBS-libintl.so := $(LIBS)
+
+libintl_FULL_NAME := libintl-$(VERSION).so
+
+MOBJ := \
+ gettext.o ngettext.o dgettext.o dcgettext.o dngettext.o dcngettext.o \
textdomain.o bindtextdomain.o bind_textdomain_codeset.o \
_nl_expand_alias.o _nl_msg_cat_cntr.o # glibc-isms
-libintl_DIR:=$(top_srcdir)libintl
-libintl_OUT:=$(top_builddir)libintl
+libintl_DIR := $(top_srcdir)libintl
+libintl_OUT := $(top_builddir)libintl
-libintl_MSRC:=$(libintl_DIR)/intl.c
-libintl_MOBJ:=$(patsubst %.o,$(libintl_OUT)/%.o,$(MOBJ))
+libintl_MSRC := $(libintl_DIR)/intl.c
+libintl_MOBJ := $(patsubst %.o,$(libintl_OUT)/%.o,$(MOBJ))
-libintl_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(libintl_MOBJ))))
+ifneq ($(DOMULTI),n)
+CFLAGS-libintl += $(patsubst %,-DL_%,$(subst .o,,$(notdir $(libintl_MOBJ))))
+endif
-$(libintl_MOBJ) $(libintl_MOBJ:.o=.os): $(libintl_MSRC)
- $(compile.m)
+ifeq ($(DOPIC),y)
+libintl-a-y := $(libintl_MOBJ:.o=.os)
+else
+libintl-a-y := $(libintl_MOBJ)
+endif
+libintl-so-y := $(libintl_MOBJ:.o=.os)
+
+lib-a-$(UCLIBC_HAS_GETTEXT_AWARENESS) += $(top_builddir)lib/libintl.a
+lib-so-$(UCLIBC_HAS_GETTEXT_AWARENESS) += $(top_builddir)lib/libintl.so
+objclean-y += CLEAN_libintl
+
+ifeq ($(DOMULTI),n)
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/libintl.so: $(top_builddir)lib/libintl.a $(libc.depend)
+else
+$(top_builddir)lib/libintl.so: $(libintl_OUT)/libintl_so.a $(libc.depend)
+endif
+ $(call link.so,$(libintl_FULL_NAME),$(ABI_VERSION))
+else
+$(top_builddir)lib/libintl.so: $(libintl_OUT)/libintl.oS | $(libc.depend)
+ $(call linkm.so,$(libintl_FULL_NAME),$(ABI_VERSION))
+endif
-libintl-a-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ)
-libintl-a-pic-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ:.o=.os)
-libintl-so-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ:.o=.os)
+$(libintl_OUT)/libintl_so.a: $(libintl-so-y)
+ $(Q)$(RM) $@
+ $(do_ar)
-CFLAGS-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_DEF)
-libintl-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MSRC)
+$(libintl_OUT)/libintl.oS: $(libintl_MSRC)
+ $(Q)$(RM) $@
+ $(compile-m)
-objclean-y+=libintl_clean
+$(top_builddir)lib/libintl.a: $(libintl-a-y)
+ $(Q)$(INSTALL) -d $(dir $@)
+ $(Q)$(RM) $@
+ $(do_ar)
+
+$(libintl_MOBJ): $(libintl_MSRC)
+ $(compile.m)
+
+$(libintl_MOBJ:.o=.os): $(libintl_MSRC)
+ $(compile.m)
-lib-a-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.a
-lib-a-pic-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.a
-lib-so-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.so
+CLEAN_libintl:
+ $(do_rm) $(addprefix $(libintl_OUT)/*., o os oS a)