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 libdb-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 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
34 CPPFLAGS
+= -D__DBINTERFACE_PRIVATE
36 # This file defines some static functions for alternative hash algorithms
37 # that are not actually used.
38 CFLAGS-hash_func.c
:= -Wno-unused
40 # The db code outsmarts the compiler frequently.
41 override CFLAGS
+= -Wno-uninitialized
43 ifeq ($(build-shared
),yes
)
44 $(objpfx
)makedb
: $(objpfx
)libdb.so
$(libdb.so-version
)
46 $(objpfx
)makedb
: $(objpfx
)libdb.a
49 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
50 # This ensures they will load libc.so for needed symbols if loaded by
51 # a statically-linked program that hasn't already loaded it.
52 $(objpfx
)libdb.so
: $(common-objpfx
)libc.so
54 subdir_install
: $(inst_libdir
)/libndbm.a
55 $(inst_libdir
)/libndbm.a
: $(inst_libdir
)/libdb.a
$(+force)
58 ifeq ($(build-shared
),yes
)
59 subdir_install
: $(inst_libdir
)/libndbm.so
60 $(inst_libdir
)/libndbm.so
: $(inst_libdir
)/libdb.so
$(+force)