Added.
[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         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 #ifdef SILC_DIST_ACC
52         silcacc         \
53 #endif SILC_DIST_ACC
54 #ifdef SILC_DIST_SSH
55         silcssh         \
56 #endif SILC_DIST_SSH
57
58 if SILC_ENABLE_SHARED
59 if SILC_WIN32
60 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -export-dynamic -no-undefined
61 else
62 LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir)
63 endif
64 LIBTOOL_SILC_VERSION = -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE)
65 LIBTOOL_SILCCLIENT_VERSION = -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE)
66 LIBTOOL_SILCSERVER_VERSION = -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE)
67 else
68 LIBTOOL_OPTS=
69 LIBTOOL_SILC_VERSION =
70 LIBTOOL_SILCCLIENT_VERSION =
71 LIBTOOL_SILCSERVER_VERSION =
72 endif
73
74 if SILC_WIN32
75 SILC_LINK_LIBS=$(LIBS)
76 SILCCLIENT_LINK_LIBS=$(LIBS) -lsilc
77 SILCSERVER_LIBS=$(LIBS) -lsilc
78 else
79 SILC_LINK_LIBS=
80 SILCCLIENT_LINK_LIBS=
81 SILCSERVER_LIBS=
82 endif
83
84 SILCLIB = libsilc.a
85
86 #ifdef SILC_DIST_CLIENTLIB
87 # SILC Client Library dirs
88 SILCCLIENTLIB_DIRS = silcclient
89 SILCCLIENTLIB = libsilcclient.a
90 #endif SILC_DIST_CLIENTLIB
91
92 #ifdef SILC_DIST_SERVERLIB
93 # SILC Server Library dirs
94 SILCSERVERLIB_DIRS = silcserver
95 SILCSERVERLIB = libsilcserver.a
96 #endif SILC_DIST_SERVERLIB
97
98 SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
99
100 CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
101 DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
102
103 remove:
104         -rm -f $(CLEANFILES)
105
106 all:
107         $(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
108
109 #ifdef SILC_DIST_TOOLKIT
110 install-exec-hook:
111         -mkdir -p $(DESTDIR)$(libdir)
112         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
113 #ifdef SILC_DIST_CLIENTLIB
114         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
115 #endif SILC_DIST_CLIENTLIB
116 #ifdef SILC_DIST_SERVERLIB
117         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
118 #endif SILC_DIST_SERVERLIB
119 #else !SILC_DIST_TOOLKIT
120
121 #ifdef SILC_DIST_SERVERLIB
122 install-exec-hook:
123 if SILC_ENABLE_SHARED
124         -mkdir -p $(libdir)
125         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
126         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
127         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
128         -rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
129 endif
130 #endif SILC_DIST_SERVERLIB
131
132 #ifdef SILC_DIST_CLIENTLIB
133 install-exec-hook:
134 if SILC_ENABLE_SHARED
135         -mkdir -p $(libdir)
136         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
137         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
138         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
139         -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
140 endif
141 #endif SILC_DIST_CLIENTLIB
142 #endif SILC_DIST_TOOLKIT
143
144 LIB_BASE_VERSION=@LIB_BASE_VERSION@
145 LIBSILC_CURRENT=@LIBSILC_CURRENT@
146 LIBSILC_REVISION=@LIBSILC_REVISION@
147 LIBSILC_AGE=@LIBSILC_AGE@
148
149 libsilc.a:
150         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
151         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) \
152         $(LIBTOOL_SILC_VERSION) \
153         $(LIBTOOL_OPTS) -o libsilc.la
154
155 #ifdef SILC_DIST_CLIENTLIB
156 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
157 LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
158 LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
159
160 libsilcclient.a:
161         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
162         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
163         $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) \
164         $(LIBTOOL_OPTS) -o libsilcclient.la
165 #endif SILC_DIST_CLIENTLIB
166
167 #ifdef SILC_DIST_SERVERLIB
168 LIBSILCSERVER_CURRENT=@LIBSILCSERVER_CURRENT@
169 LIBSILCSERVER_REVISION=@LIBSILCSERVER_REVISION@
170 LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
171
172 libsilcserver.a:
173         find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
174         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCSERVER_LIBS) \
175         $(LIBTOOL_SILCSERVER_VERSION) \
176         $(LIBTOOL_OPTS) -o libsilcserver.la
177 #endif SILC_DIST_SERVERLIB
178
179 #ifdef SILC_DIST_TOOLKIT
180 pkgconfigdir = $(libdir)/pkgconfig
181 pkgconfig_DATA = silc.pc                \
182 #ifdef SILC_DIST_CLIENTLIB
183                 silcclient.pc           \
184 #endif SILC_DIST_CLIENTLIB
185 #ifdef SILC_DIST_SERVERLIB
186                 silcserver.pc
187 #endif SILC_DIST_SERVERLIB
188
189 EXTRA_DIST =    silc.pc.in              \
190 #ifdef SILC_DIST_CLIENTLIB
191                 silcclient.pc.in        \
192 #endif SILC_DIST_CLIENTLIB
193 #ifdef SILC_DIST_SERVERLIB
194                 silcserver.pc.in
195 #endif SILC_DIST_SERVERLIB
196
197 toolkit-install:
198         -mkdir -p $(docdir)/toolkit/
199         -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
200         -$(INSTALL_DATA) $(top_srcdir)/lib/doc/*.gif $(docdir)/toolkit
201         -cp -R $(top_srcdir)/tutorial $(docdir)
202 #endif SILC_DIST_TOOLKIT
203
204 install-data-hook:      \
205 #ifdef SILC_DIST_TOOLKIT
206         toolkit-install
207 #endif SILC_DIST_TOOLKIT
208
209 include $(top_srcdir)/Makefile.defines.in