Merge branch 'topic/mm-fixes' of git://208.110.73.182/silc into 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 - 2005, 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         contrib         \
23         silccore        \
24         silcutil        \
25         silcapputil     \
26 #ifdef SILC_DIST_CRYPTO
27         silccrypt       \
28 #endif SILC_DIST_CRYPTO
29 #ifdef SILC_DIST_SKR
30         silcskr         \
31 #endif SILC_DIST_SKR
32 #ifdef SILC_DIST_MATH
33         silcmath        \
34 #endif SILC_DIST_MATH
35 #ifdef SILC_DIST_SIM
36         silcsim         \
37 #endif SILC_DIST_SIM
38 #ifdef SILC_DIST_ASN1
39         silcasn1        \
40 #endif SILC_DIST_ASN1
41         silcske         \
42 #ifdef SILC_DIST_HTTP
43         silchttp        \
44 #endif SILC_DIST_HTTP
45 #ifdef SILC_DIST_SFTP
46         silcsftp        \
47 #endif SILC_DIST_SFTP
48 #ifdef SILC_DIST_VCARD
49         silcvcard       \
50 #endif SILC_DIST_VCARD
51
52 if SILC_ENABLE_SHARED
53 if SILC_WIN32
54 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -export-dynamic -no-undefined
55 else
56 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir)
57 endif
58 LIBTOOL_SILC_VERSION = -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE)
59 LIBTOOL_SILCCLIENT_VERSION = -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE)
60 LIBTOOL_SILCSERVER_VERSION = -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE)
61 else
62 LIBTOOL_OPTS=
63 LIBTOOL_SILC_VERSION =
64 LIBTOOL_SILCCLIENT_VERSION =
65 LIBTOOL_SILCSERVER_VERSION =
66 endif
67
68 if SILC_WIN32
69 SILC_LINK_LIBS=$(LIBS)
70 SILCCLIENT_LINK_LIBS=$(LIBS) -lsilc
71 SILCSERVER_LIBS=$(LIBS) -lsilc
72 else
73 SILC_LINK_LIBS=
74 SILCCLIENT_LINK_LIBS=
75 SILCSERVER_LIBS=
76 endif
77
78 SILCLIB = libsilc.a
79
80 #ifdef SILC_DIST_CLIENTLIB
81 # SILC Client Library dirs
82 SILCCLIENTLIB_DIRS = silcclient
83 SILCCLIENTLIB = libsilcclient.a
84 #endif SILC_DIST_CLIENTLIB
85
86 #ifdef SILC_DIST_SERVERLIB
87 # SILC Server Library dirs
88 SILCSERVERLIB_DIRS = silcserver
89 SILCSERVERLIB = libsilcserver.a
90 #endif SILC_DIST_SERVERLIB
91
92 SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
93
94 CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
95 DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
96
97 remove:
98         -rm -f $(CLEANFILES)
99
100 all:
101         $(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
102
103 #ifdef SILC_DIST_TOOLKIT
104 install-exec-hook:
105         -mkdir -p $(DESTDIR)$(libdir)
106         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
107 #ifdef SILC_DIST_CLIENTLIB
108         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
109 #endif SILC_DIST_CLIENTLIB
110 #ifdef SILC_DIST_SERVERLIB
111         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
112 #endif SILC_DIST_SERVERLIB
113 #else !SILC_DIST_TOOLKIT
114
115 #ifdef SILC_DIST_SERVERLIB
116 install-exec-hook:
117 if SILC_ENABLE_SHARED
118         -mkdir -p $(libdir)
119         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
120         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
121         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
122         -rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
123 endif
124 #endif SILC_DIST_SERVERLIB
125
126 #ifdef SILC_DIST_CLIENTLIB
127 install-exec-hook:
128 if SILC_ENABLE_SHARED
129         -mkdir -p $(libdir)
130         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
131         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
132         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
133         -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
134 endif
135 #endif SILC_DIST_CLIENTLIB
136 #endif SILC_DIST_TOOLKIT
137
138 LIB_BASE_VERSION=@LIB_BASE_VERSION@
139 LIBSILC_CURRENT=@LIBSILC_CURRENT@
140 LIBSILC_REVISION=@LIBSILC_REVISION@
141 LIBSILC_AGE=@LIBSILC_AGE@
142
143 libsilc.a:
144         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
145         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) \
146         $(LIBTOOL_SILC_VERSION) \
147         $(LIBTOOL_OPTS) -o libsilc.la
148
149 #ifdef SILC_DIST_CLIENTLIB
150 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
151 LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
152 LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
153
154 libsilcclient.a:
155         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
156         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
157         $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) \
158         $(LIBTOOL_OPTS) -o libsilcclient.la
159 #endif SILC_DIST_CLIENTLIB
160
161 #ifdef SILC_DIST_SERVERLIB
162 LIBSILCSERVER_CURRENT=@LIBSILCSERVER_CURRENT@
163 LIBSILCSERVER_REVISION=@LIBSILCSERVER_REVISION@
164 LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
165
166 libsilcserver.a:
167         find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
168         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCSERVER_LIBS) \
169         $(LIBTOOL_SILCSERVER_VERSION) \
170         $(LIBTOOL_OPTS) -o libsilcserver.la
171 #endif SILC_DIST_SERVERLIB
172
173 #ifdef SILC_DIST_TOOLKIT
174 pkgconfigdir = $(libdir)/pkgconfig
175 pkgconfig_DATA = silc.pc                \
176 #ifdef SILC_DIST_CLIENTLIB
177                 silcclient.pc           \
178 #endif SILC_DIST_CLIENTLIB
179 #ifdef SILC_DIST_SERVERLIB
180                 silcserver.pc
181 #endif SILC_DIST_SERVERLIB
182
183 EXTRA_DIST =    silc.pc.in              \
184 #ifdef SILC_DIST_CLIENTLIB
185                 silcclient.pc.in        \
186 #endif SILC_DIST_CLIENTLIB
187 #ifdef SILC_DIST_SERVERLIB
188                 silcserver.pc.in
189 #endif SILC_DIST_SERVERLIB
190
191 toolkit-install:
192         -mkdir -p $(docdir)/toolkit/
193         -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
194         -$(INSTALL_DATA) $(top_srcdir)/lib/doc/*.gif $(docdir)/toolkit
195         -cp -R $(top_srcdir)/tutorial $(docdir)
196 #endif SILC_DIST_TOOLKIT
197
198 install-data-hook:      \
199 #ifdef SILC_DIST_TOOLKIT
200         toolkit-install
201 #endif SILC_DIST_TOOLKIT
202
203 include $(top_srcdir)/Makefile.defines.in