($(inst_libdir)/libndbm.a,
[kopensolaris-gnu/glibc.git] / db / Makefile
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.
5
6 subdir = db
7
8 subdir-dirs = btree db hash mpool recno
9 vpath %.c $(subdir-dirs)
10
11 extra-libs := libdb
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 \
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
22 libdb-map       := libdb.map
23
24 headers         := db.h mpool.h ndbm.h
25 distribute      := compat.h                                     \
26                    btree/btree.h btree/extern.h                 \
27                    hash/extern.h hash/hash.h hash/page.h        \
28                    recno/extern.h recno/recno.h
29
30 others          := makedb
31 install-bin     := makedb
32
33 include ../Rules
34
35 CPPFLAGS += -D__DBINTERFACE_PRIVATE
36
37 # This file defines some static functions for alternative hash algorithms
38 # that are not actually used.
39 CFLAGS-hash_func.c := -Wno-unused
40
41 # The db code outsmarts the compiler frequently.
42 override CFLAGS += -Wno-uninitialized
43
44 ifeq ($(build-shared),yes)
45 $(objpfx)makedb: $(objpfx)libdb.so$(libdb.so-version)
46 else
47 $(objpfx)makedb: $(objpfx)libdb.a
48 endif
49
50 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
51 # This ensures they will load libc.so for needed symbols if loaded by
52 # a statically-linked program that hasn't already loaded it.
53 $(objpfx)libdb.so: $(common-objpfx)libc.so
54
55 subdir_install: $(inst_libdir)/libndbm.a
56 $(inst_libdir)/libndbm.a: $(inst_libdir)/libdb.a
57         $(make-link)
58
59 ifeq ($(build-shared),yes)
60 subdir_install: $(inst_libdir)/libndbm.so
61 $(inst_libdir)/libndbm.so: $(inst_libdir)/libdb.so
62         $(make-link)
63 endif