OSDN Git Service

- less verbose make clean
[uclinux-h8/uClibc.git] / libutil / Makefile.in
index 6f6b03e..67d9738 100644 (file)
@@ -1,33 +1,66 @@
 # 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)