# Makefile for uClibc
#
-# 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)
+CFLAGS-libutil := -DNOT_IN_libc -DIS_IN_libutil $(SSP_ALL_CFLAGS)
-#DOMULTI=y
+LDFLAGS-libutil.so := $(LDFLAGS)
-LIB_NAME:=libutil
+LIBS-libutil.so := $(LIBS)
-libutil_DIR:=$(top_srcdir)libutil
-libutil_OUT:=$(top_builddir)libutil
+libutil_FULL_NAME := libutil-$(VERSION).so
-libutil_SRC:=$(wildcard $(libutil_DIR)/*.c)
-ifneq ($(ARCH_HAS_MMU),y)
-libutil_SRC:=$(filter-out $(libutil_DIR)/forkpty.c,$(libutil_SRC))
+libutil_DIR := $(top_srcdir)libutil
+libutil_OUT := $(top_builddir)libutil
+
+libutil_SRC := $(wildcard $(libutil_DIR)/*.c)
+ifneq ($(ARCH_USE_MMU),y)
+libutil_SRC := $(filter-out $(libutil_DIR)/forkpty.c,$(libutil_SRC))
+endif
+ifneq ($(UCLIBC_HAS_PTY),y)
+libutil_SRC := $(filter-out $(libutil_DIR)/openpty.c $(libutil_DIR)/forkpty.c \
+ ,$(libutil_SRC))
+endif
+libutil_OBJ := $(patsubst $(libutil_DIR)/%.c,$(libutil_OUT)/%.o,$(libutil_SRC))
+
+ifeq ($(DOPIC),y)
+libutil-a-y := $(libutil_OBJ:.o=.os)
+else
+libutil-a-y := $(libutil_OBJ)
+endif
+libutil-so-y := $(libutil_OBJ:.o=.os)
+
+lib-a-y += $(top_builddir)lib/libutil.a
+lib-so-y += $(top_builddir)lib/libutil.so
+objclean-y += libutil_clean
+
+ifeq ($(DOMULTI),n)
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/libutil.so: $(top_builddir)lib/libutil.a $(libc.depend)
+else
+$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil_so.a $(libc.depend)
+endif
+ $(call link.so,$(libutil_FULL_NAME),$(MAJOR_VERSION))
+else
+$(top_builddir)lib/libutil.so: $(libutil_OUT)/libutil.oS | $(libc.depend)
+ $(call linkm.so,$(libutil_FULL_NAME),$(MAJOR_VERSION))
endif
-libutil_OBJ:=$(patsubst $(libutil_DIR)/%.c,$(libutil_OUT)/%.o,$(libutil_SRC))
-libutil-a-y:=$(libutil_OBJ)
-libutil-a-pic-y:=$(libutil_OBJ:.o=.os)
-libutil-so-y:=$(libutil_OBJ:.o=.os)
+$(libutil_OUT)/libutil_so.a: $(libutil-so-y)
+ $(Q)$(RM) $@
+ $(do_ar)
-libutil-multi-y:=$(libutil_SRC)
+$(libutil_OUT)/libutil.oS: $(libutil_SRC)
+ $(Q)$(RM) $@
+ $(compile-m)
-objclean-y+=libutil_clean
+$(top_builddir)lib/libutil.a: $(libutil-a-y)
+ $(Q)$(INSTALL) -d $(dir $@)
+ $(Q)$(RM) $@
+ $(do_ar)
-lib-a-y+=$(top_builddir)lib/libutil.a
-lib-a-pic-y+=$(top_builddir)lib/libutil.a
-lib-so-y+=$(top_builddir)lib/libutil.so
+libutil_clean:
+ $(do_rm) $(addprefix $(libutil_OUT)/*., o os oS a)