9abe5c2b8815975aecb21e2035bfa4290bc54c11
[jelmer/samba4-debian.git] / source / lib / tdb / Makefile.in
1 #!gmake
2 #
3 # Makefile for tdb directory
4 #
5
6 CC = @CC@
7 prefix = @prefix@
8 exec_prefix = @exec_prefix@
9 bindir = @bindir@
10 includedir = @includedir@
11 libdir = @libdir@
12 VPATH = @srcdir@:@libreplacedir@
13 srcdir = @srcdir@
14 builddir = @builddir@
15 CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -Iinclude 
16 CFLAGS = $(CPPFLAGS) @CFLAGS@
17 LDFLAGS = @LDFLAGS@
18 EXEEXT = @EXEEXT@
19 SHLD = @SHLD@
20 SHLD_FLAGS = @SHLD_FLAGS@
21 PACKAGE_VERSION = @PACKAGE_VERSION@
22 PICFLAG = @PICFLAG@
23 SHLIBEXT = @SHLIBEXT@
24 SWIG = @SWIG@
25
26 .PHONY: test
27
28 PROGS = bin/tdbtool$(EXEEXT) bin/tdbdump$(EXEEXT) bin/tdbbackup$(EXEEXT)
29 PROGS_NOINSTALL = bin/tdbtest$(EXEEXT) bin/tdbtorture$(EXEEXT)
30 ALL_PROGS = $(PROGS) $(PROGS_NOINSTALL)
31
32 TDB_OBJ = @TDB_OBJ@ @LIBREPLACEOBJ@
33
34 DIRS = bin common tools
35
36 SONAME = libtdb.$(SHLIBEXT).1
37 SOLIB = libtdb.$(SHLIBEXT).$(PACKAGE_VERSION)
38
39 all: showflags dirs $(PROGS) $(SOLIB) libtdb.a
40
41 showflags:
42         @echo 'tdb will be compiled with flags:'
43         @echo '  CFLAGS = $(CFLAGS)'
44         @echo '  CPPFLAGS = $(CPPFLAGS)'
45         @echo '  LDFLAGS = $(LDFLAGS)'
46         @echo '  LIBS = $(LIBS)'
47
48 .SUFFIXES: .c .o
49
50 .c.o:
51         @echo Compiling $*.c
52         @mkdir -p `dirname $@`
53         @$(CC) $(PICFLAG) $(CFLAGS) -c $< -o $@
54
55 dirs:
56         @mkdir -p $(DIRS)
57
58 install: all
59         mkdir -p $(DESTDIR)$(bindir)
60         mkdir -p $(DESTDIR)$(includedir)
61         mkdir -p $(DESTDIR)$(libdir) 
62         mkdir -p $(DESTDIR)$(libdir)/pkgconfig
63         cp $(PROGS) $(DESTDIR)$(bindir)
64         cp $(srcdir)/include/tdb.h $(DESTDIR)$(includedir)
65         cp tdb.pc $(DESTDIR)$(libdir)/pkgconfig
66         cp libtdb.a $(SOLIB) $(DESTDIR)$(libdir)
67
68 libtdb.a: $(TDB_OBJ)
69         ar -rv libtdb.a $(TDB_OBJ)
70
71 libtdb.$(SHLIBEXT): $(SOLIB)
72         ln -fs $< $@
73
74 $(SONAME): $(SOLIB)
75         ln -fs $< $@
76
77 $(SOLIB): $(TDB_OBJ)
78         $(SHLD) $(SHLD_FLAGS) -o $@ $(TDB_OBJ) @SONAMEFLAG@$(SONAME)
79
80 TDB_LIB = libtdb.a
81
82 bin/tdbtest$(EXEEXT): tools/tdbtest.o $(TDB_LIB)
83         $(CC) $(CFLAGS) $(LDFLAGS) -o bin/tdbtest tools/tdbtest.o -L. -ltdb -lgdbm
84
85 bin/tdbtool$(EXEEXT): tools/tdbtool.o $(TDB_LIB)
86         $(CC) $(CFLAGS) $(LDFLAGS) -o bin/tdbtool tools/tdbtool.o -L. -ltdb
87
88 bin/tdbtorture$(EXEEXT): tools/tdbtorture.o $(TDB_LIB)
89         $(CC) $(CFLAGS) $(LDFLAGS) -o bin/tdbtorture tools/tdbtorture.o -L. -ltdb
90
91 bin/tdbdump$(EXEEXT): tools/tdbdump.o $(TDB_LIB)
92         $(CC) $(CFLAGS) $(LDFLAGS) -o bin/tdbdump tools/tdbdump.o -L. -ltdb
93
94 bin/tdbbackup$(EXEEXT): tools/tdbbackup.o $(TDB_LIB)
95         $(CC) $(CFLAGS) $(LDFLAGS) -o bin/tdbbackup tools/tdbbackup.o -L. -ltdb
96
97 test: bin/tdbtorture$(EXEEXT)
98         bin/tdbtorture$(EXEEXT)
99
100 installcheck: test install
101
102 clean:
103         rm -f $(ALL_PROGS) *.o *.a common/*.o tools/*.o tdb.pc
104         rm -f test.db test.tdb torture.tdb test.gdbm
105         rm -f $(SONAME) $(SOLIB) libtdb.a
106
107 distclean: clean
108         rm -f *~ */*~
109         rm -f config.log config.status include/config.h config.cache
110         rm -f Makefile
111
112 realdistclean: distclean
113         rm -f configure include/config.h.in
114
115 tdb_wrap.c tdb.py: tdb.i
116         $(SWIG) -python -keyword tdb.i
117
118 build-python: libtdb.$(SHLIBEXT) tdb_wrap.c tdb.py
119         ./setup.py build
120
121 install-python:
122         ./setup.py install --prefix=$(prefix)
123
124 check-python: build-python
125         # FIXME: Should be more portable:
126         LD_LIBRARY_PATH=. PYTHONPATH=.:build/lib.linux-i686-2.4 trial python/tests/simple.py
127
128 clean-python:
129         ./setup.py clean