Merge commit 'origin/silc.1.1.branch'
[silc.git] / lib / Makefile.ad
1 #
2 #  Makefile.am
3 #
4 #  Author: Pekka Riikonen <priikone@silcnet.org>
5 #
6 #  Copyright (C) 2000 - 2007 Pekka Riikonen
7 #
8 #  This program is free software; you can redistribute it and/or modify
9 #  it under the terms of the GNU General Public License as published by
10 #  the Free Software Foundation; version 2 of the License.
11 #
12 #  This program is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #  GNU General Public License for more details.
16 #
17
18 AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
19
20 # SILC Library dirs
21 SILCLIB_DIRS =          \
22         silccore        \
23         silcapputil     \
24         silcske         \
25 #ifdef SILC_DIST_SFTP
26         silcsftp        \
27 #endif SILC_DIST_SFTP
28 #ifdef SILC_DIST_VCARD
29         silcvcard       \
30 #endif SILC_DIST_VCARD
31
32 if SILC_ENABLE_SHARED
33 if SILC_WIN32
34 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -export-dynamic -no-undefined
35 else
36 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir)
37 endif
38 LIBTOOL_SILC_VERSION = -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE)
39 LIBTOOL_SILCCLIENT_VERSION = -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE)
40 LIBTOOL_SILCSERVER_VERSION = -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE)
41 else
42 LIBTOOL_OPTS=
43 LIBTOOL_SILC_VERSION =
44 LIBTOOL_SILCCLIENT_VERSION =
45 LIBTOOL_SILCSERVER_VERSION =
46 endif
47
48 if SILC_WIN32
49 SILC_LINK_LIBS=$(LIBS)
50 SILCCLIENT_LINK_LIBS=$(LIBS) -lsilc
51 SILCSERVER_LIBS=$(LIBS) -lsilc
52 else
53 SILC_LINK_LIBS=
54 SILCCLIENT_LINK_LIBS=
55 SILCSERVER_LIBS=
56 endif
57
58 SILCLIB = libsilc.a
59
60 #ifdef SILC_DIST_CLIENTLIB
61 # SILC Client Library dirs
62 SILCCLIENTLIB_DIRS = silcclient
63 SILCCLIENTLIB = libsilcclient.a
64 #endif SILC_DIST_CLIENTLIB
65
66 #ifdef SILC_DIST_SERVERLIB
67 # SILC Server Library dirs
68 SILCSERVERLIB_DIRS = silcserver
69 SILCSERVERLIB = libsilcserver.a
70 #endif SILC_DIST_SERVERLIB
71
72 SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
73
74 CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
75 DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
76
77 remove:
78         -rm -f $(CLEANFILES)
79
80 all:
81         $(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
82
83 #ifdef SILC_DIST_TOOLKIT
84 install-exec-hook:
85         -mkdir -p $(DESTDIR)$(libdir)
86         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
87 #ifdef SILC_DIST_CLIENTLIB
88         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
89 #endif SILC_DIST_CLIENTLIB
90 #ifdef SILC_DIST_SERVERLIB
91         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
92 #endif SILC_DIST_SERVERLIB
93 #else !SILC_DIST_TOOLKIT
94
95 #ifdef SILC_DIST_SERVERLIB
96 install-exec-hook:
97 if SILC_ENABLE_SHARED
98         -mkdir -p $(libdir)
99         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
100         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
101         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
102         -rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
103 endif
104 #endif SILC_DIST_SERVERLIB
105
106 #ifdef SILC_DIST_CLIENTLIB
107 install-exec-hook:
108 if SILC_ENABLE_SHARED
109         -mkdir -p $(libdir)
110         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
111         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
112         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
113         -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
114 endif
115 #endif SILC_DIST_CLIENTLIB
116 #endif SILC_DIST_TOOLKIT
117
118 LIB_BASE_VERSION=@LIB_BASE_VERSION@
119 LIBSILC_CURRENT=@LIBSILC_CURRENT@
120 LIBSILC_REVISION=@LIBSILC_REVISION@
121 LIBSILC_AGE=@LIBSILC_AGE@
122
123 libsilc.a:
124         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
125         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) \
126         $(LIBTOOL_SILC_VERSION) \
127         $(LIBTOOL_OPTS) -o libsilc.la
128
129 #ifdef SILC_DIST_CLIENTLIB
130 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
131 LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
132 LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
133
134 libsilcclient.a:
135         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
136         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
137         $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) \
138         $(LIBTOOL_OPTS) -o libsilcclient.la
139 #endif SILC_DIST_CLIENTLIB
140
141 #ifdef SILC_DIST_SERVERLIB
142 LIBSILCSERVER_CURRENT=@LIBSILCSERVER_CURRENT@
143 LIBSILCSERVER_REVISION=@LIBSILCSERVER_REVISION@
144 LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
145
146 libsilcserver.a:
147         find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
148         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCSERVER_LIBS) \
149         $(LIBTOOL_SILCSERVER_VERSION) \
150         $(LIBTOOL_OPTS) -o libsilcserver.la
151 #endif SILC_DIST_SERVERLIB
152
153 #ifdef SILC_DIST_TOOLKIT
154 pkgconfigdir = $(libdir)/pkgconfig
155 pkgconfig_DATA = silc.pc                \
156 #ifdef SILC_DIST_CLIENTLIB
157                 silcclient.pc           \
158 #endif SILC_DIST_CLIENTLIB
159 #ifdef SILC_DIST_SERVERLIB
160                 silcserver.pc
161 #endif SILC_DIST_SERVERLIB
162
163 EXTRA_DIST =    silc.pc.in              \
164 #ifdef SILC_DIST_CLIENTLIB
165                 silcclient.pc.in        \
166 #endif SILC_DIST_CLIENTLIB
167 #ifdef SILC_DIST_SERVERLIB
168                 silcserver.pc.in
169 #endif SILC_DIST_SERVERLIB
170
171 toolkit-install:
172         -mkdir -p $(docdir)/toolkit/
173         -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
174         -$(INSTALL_DATA) $(top_srcdir)/lib/doc/*.gif $(docdir)/toolkit
175         -cp -R $(top_srcdir)/tutorial $(docdir)
176 #endif SILC_DIST_TOOLKIT
177
178 install-data-hook:      \
179 #ifdef SILC_DIST_TOOLKIT
180         toolkit-install
181 #endif SILC_DIST_TOOLKIT
182
183 include $(top_srcdir)/Makefile.defines.in