Move gepdump to bin/
[samba-gtk.git] / Makefile
1 include Makefile.settings
2
3 BINS = gwcrontab gwsam gwsvcctl 
4 SCRIPTS = gtkldb gepdump gregedit
5 gwcrontab_LIBS = $(DCERPC_ATSVC_LIBS) $(NDR_STANDARD_LIBS) $(SAMBA_UTIL_LIBS)
6 gwsam_LIBS = $(DCERPC_SAMR_LIBS) $(NDR_STANDARD_LIBS) $(SAMBA_UTIL_LIBS)
7 gwsvcctl_LIBS = $(NDR_STANDARD_LIBS) $(SAMBA_UTIL_LIBS)
8 CFLAGS = $(GTK_CFLAGS) $(TALLOC_CFLAGS) $(DCERPC_CFLAGS) $(GENSEC_CFLAGS) -I. -Wall
9 LIBS = $(GTK_LIBS) $(TALLOC_LIBS) $(DCERPC_LIBS) $(GENSEC_LIBS) $(DCERPC_SAMR_LIBS) $(TEVENT_LIBS)
10 # Should be determined by configure...
11 SHLIBEXT = so
12
13 LIB = libsamba-gtk.$(SHLIBEXT).0.0.1
14 MANPAGES = man/gepdump.1 man/gwcrontab.1 man/gwsvcctl.1 man/gregedit.1 man/gtkldb.1
15 HEADERS = $(wildcard common/*.h)
16 SOVERSION = 0
17 SONAME = libsamba-gtk.$(SHLIBEXT).$(SOVERSION)
18
19 all:: $(BINS) $(LIB) $(SONAME) libsamba-gtk.$(SHLIBEXT) 
20
21 Makefile: Makefile.settings
22
23 install:: $(BINS) $(LIB) 
24         $(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(man1dir)
25         $(INSTALL) -m 0755 $(BINS) $(SCRIPTS) $(DESTDIR)$(bindir)
26         $(INSTALL) -m 0755 $(LIB) $(DESTDIR)$(libdir)
27         ln -fs $(LIB) $(DESTDIR)$(libdir)/libsamba-gtk.$(SHLIBEXT)
28         $(INSTALL) -d $(DESTDIR)$(pcdir)
29         $(INSTALL) -m 0644 gtksamba.pc $(DESTDIR)$(pcdir)
30         $(INSTALL) -d $(DESTDIR)$(appdir)
31         $(INSTALL) -m 0644 meta/* $(DESTDIR)$(appdir)
32         $(INSTALL) -d $(DESTDIR)$(includedir)
33         $(INSTALL) -m 0644 $(HEADERS) $(DESTDIR)$(includedir)
34         $(INSTALL) -d $(DESTDIR)$(pythondir)
35
36 install-doc:: doc
37         $(INSTALL) -m 0644 $(MANPAGES) $(DESTDIR)$(man1dir)
38
39 configure: configure.ac
40         autoreconf -i
41
42 check:: test
43
44 %.desktop-validate: %.desktop
45         $(DESKTOP_VALIDATE) $<
46
47 test:: $(patsubst %.desktop,%.desktop-validate,$(wildcard meta/*.desktop))
48
49 Makefile.settings: configure
50         ./configure
51
52 $(LIB): $(patsubst %.c, %.po, $(wildcard common/*.c))
53         $(CC) -Wl,-soname=$(SONAME) -shared -o $@ $^ $(LIBS)
54
55 $(SONAME): $(LIB)
56         ln -fs $< $@
57
58 libsamba-gtk.$(SHLIBEXT): $(LIB)
59         ln -fs $< $@
60
61 %.o: %.c
62         $(CC) $(CFLAGS) -o $@ -c $<
63
64 %.po: %.c
65         $(CC) $(CFLAGS) -fPIC -o $@ -c $<
66
67 $(BINS): %: tools/%.o $(LIB)
68         $(CC) -o $@ $< $(LIB) $(LIBS) $($*_LIBS)
69
70 install::
71
72 clean::
73         rm -f $(BINS) $(LIB) *.$(SHLIBEXT) */*.o *.o */*.po *.po
74
75 distclean:: clean
76         rm -rf autom4te.cache
77         rm -f config.log config.cache config.status
78         rm -f Makefile.settings
79
80 dist:: configure distclean
81
82 doc:: $(MANPAGES)
83
84 DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
85
86 .SUFFIXES: .1 .1.xml
87
88 .1.xml.1:
89         $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
90
91 ctags:
92         ctags -R .
93