Update.
[glibc.git] / db / Makefile
blobf8626e17ec3a13ab7168564d0c2344af1f101d6f
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.
6 subdir = db
8 subdir-dirs = btree db hash mpool recno
9 vpath %.c $(subdir-dirs)
11 extra-libs := libdb1
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 \
16 db \
17 hash hash_bigkey hash_buf hash_func hash_log2 hash_page \
18 ndbm \
19 mpool \
20 rec_close rec_delete rec_get rec_open rec_put rec_search \
21 rec_seq rec_utils
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 \
28 $(db1-headers)
30 include ../Makeconfig
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)
36 rm -f $@
37 $(LN_S) $(<F) $@
39 $(db1-headers:%=$(inst_includedir)/db1/%): $(inst_includedir)/db1/%: % $(+force)
40 $(do-install)
42 include ../Rules
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)\
67 -Wl,--whole-archive \
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)
73 # $(make-link)
75 #ifeq ($(build-shared),yes)
76 #subdir_install: $(inst_libdir)/libndbm.so
77 #$(inst_libdir)/libndbm.so: $(inst_libdir)/libdb1.so $(+force)
78 # $(make-link)
79 #endif