(libdb.so): Depend on libc.so for dynamic loading and for Linux ld.so.
[kopensolaris-gnu/glibc.git] / db / Makefile
index 2c678df..331c8b1 100644 (file)
@@ -9,6 +9,7 @@ subdir-dirs = btree db hash mpool recno
 vpath %.c $(subdir-dirs)
 
 extra-libs := libdb
+extra-libs-others := $(extra-libs)
 libdb-routines := bt_close bt_conv bt_debug bt_delete bt_get \
                  bt_open bt_overflow bt_page bt_put bt_search \
                  bt_seq bt_split bt_utils \
@@ -25,6 +26,9 @@ distribute    := compat.h                                     \
                   hash/extern.h hash/hash.h hash/page.h        \
                   recno/extern.h recno/recno.h
 
+others         := makedb
+install-bin    := makedb
+
 include ../Rules
 
 CPPFLAGS += -D__DBINTERFACE_PRIVATE
@@ -35,3 +39,14 @@ CFLAGS-hash_func.c := -Wno-unused
 
 # The db code outsmarts the compiler frequently.
 override CFLAGS += -Wno-uninitialized
+
+ifeq ($(build-shared),yes)
+$(objpfx)makedb: $(objpfx)libdb.so$(libdb.so-version)
+else
+$(objpfx)makedb: $(objpfx)libdb.a
+endif
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+# This ensures they will load libc.so for needed symbols if loaded by
+# a statically-linked program that hasn't already loaded it.
+$(objpfx)libdb.so: $(common-objpfx)libc.so