1 # Makefile for 4.4BSD db code in GNU C library.
2 # This code is taken verbatim from the BSD db 1.85 package. Only this
3 # Makefile and compat.h were written for GNU libc, and the header files
4 # moved up to this directory.
8 subdir-dirs
= btree db hash mpool recno
9 vpath
%.c
$(subdir-dirs
)
12 extra-libs-others
:= $(extra-libs
)
13 libdb1-routines
:= bt_close bt_conv bt_debug bt_delete bt_get \
14 bt_open bt_overflow bt_page bt_put bt_search \
15 bt_seq bt_split bt_utils \
17 hash hash_bigkey hash_buf hash_func hash_log2 hash_page \
20 rec_close rec_delete rec_get rec_open rec_put rec_search \
23 db1-headers
:= db.h mpool.h ndbm.h
24 distribute
:= compat.h \
25 btree
/btree.h btree
/extern.h \
26 hash
/extern.h hash
/hash.h hash
/page.h \
27 recno
/extern.h recno
/recno.h \
32 install-others
:= $(inst_slibdir
)/libdb.so
$(libdb1.so-version
) \
33 $(db1-headers
:%=$(inst_includedir
)/db1
/%)
35 $(inst_slibdir
)/libdb.so
$(libdb1.so-version
): $(inst_slibdir
)/libdb1-
$(version
).so
$(+force)
39 $(db1-headers
:%=$(inst_includedir
)/db1
/%): $(inst_includedir
)/db1
/%: % $(+force)
44 CPPFLAGS
+= -D__DBINTERFACE_PRIVATE
-DUSE_LIBDB1
46 # This file defines some static functions for alternative hash algorithms
47 # that are not actually used.
48 CFLAGS-hash_func.c
:= -Wno-unused
50 # The db code outsmarts the compiler frequently.
51 override CFLAGS
+= -Wno-uninitialized
53 # We are in an ugly situation here. The library is called libdb1 but the
54 # SONAME for compatibility reasons should be libdb. Therefore we duplicate
55 # shared library generating rule here.
57 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
58 # This ensures they will load libc.so for needed symbols if loaded by
59 # a statically-linked program that hasn't already loaded it.
60 $(objpfx
)libdb1.so
: $(objpfx
)libdb1_pic.a
$(+preinit
) $(+postinit
) $(+interp
) \
61 $(common-objpfx
)libc.so
62 $(LINK.o
) -shared
-o
$@
$(sysdep-LDFLAGS
) $(config-LDFLAGS
) \
63 -B
$(csu-objpfx
) $(load-map-file
) \
64 -Wl
,-soname
=lib
$(libprefix
)db.so
$($(@F
)-version
) \
65 $(LDFLAGS.so
) $(LDFLAGS-
$(@F
:lib
%.so
=%).so
) \
66 -L
$(subst :, -L
,$(rpath-link
)) -Wl
,-rpath-link
=$(rpath-link
)\
68 $(filter-out $(map-file
) $(+preinit
) $(+postinit
),$^
) \
69 $(no-whole-archive
) $(LDLIBS-
$(@F
:lib
%.so
=%).so
)
71 #subdir_install: $(inst_libdir)/libndbm.a
72 #$(inst_libdir)/libndbm.a: $(inst_libdir)/libdb1.a $(+force)
75 #ifeq ($(build-shared),yes)
76 #subdir_install: $(inst_libdir)/libndbm.so
77 #$(inst_libdir)/libndbm.so: $(inst_libdir)/libdb1.so $(+force)