Sun Mar 11 15:22:42 CET 2007 Jochen Eisinger <coffee@silcnet.org>
[silc.git] / lib / Makefile.ad
1 #
2 #  Makefile.am
3 #
4 #  Author: Pekka Riikonen <priikone@silcnet.org>
5 #
6 #  Copyright (C) 2000 - 2005 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 SILCLIB = libsilc.a
53
54 #ifdef SILC_DIST_CLIENTLIB
55 # SILC Client Library dirs
56 SILCCLIENTLIB_DIRS = silcclient
57 SILCCLIENTLIB = libsilcclient.a
58 #endif SILC_DIST_CLIENTLIB
59
60 #ifdef SILC_DIST_SERVERLIB
61 # SILC Server Library dirs
62 SILCSERVERLIB_DIRS = silcserver
63 SILCSERVERLIB = libsilcserver.a
64 #endif SILC_DIST_SERVERLIB
65
66 SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
67
68 CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
69 DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
70
71 remove:
72         -rm -f $(CLEANFILES)
73
74 all:
75         $(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
76
77 #ifdef SILC_DIST_TOOLKIT
78 install-exec-hook:
79         -mkdir -p $(DESTDIR)$(libdir)
80         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
81 #ifdef SILC_DIST_CLIENTLIB
82         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
83 #endif SILC_DIST_CLIENTLIB
84 #ifdef SILC_DIST_SERVERLIB
85         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
86 #endif SILC_DIST_SERVERLIB
87 #else !SILC_DIST_TOOLKIT
88
89 #ifdef SILC_DIST_SERVERLIB
90 install-exec-hook:
91 if SILC_ENABLE_SHARED
92         -mkdir -p $(libdir)
93         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
94         -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
95         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
96         -rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
97 endif
98 #endif SILC_DIST_SERVERLIB
99
100 #ifdef SILC_DIST_CLIENTLIB
101 install-exec-hook:
102 if SILC_ENABLE_SHARED
103         -mkdir -p $(libdir)
104         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
105         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
106         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
107         -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
108 endif
109 #endif SILC_DIST_CLIENTLIB
110 #endif SILC_DIST_TOOLKIT
111
112 LIB_BASE_VERSION=@LIB_BASE_VERSION@
113 LIBSILC_CURRENT=@LIBSILC_CURRENT@
114 LIBSILC_REVISION=@LIBSILC_REVISION@
115 LIBSILC_AGE=@LIBSILC_AGE@
116
117 libsilc.a:
118         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
119         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
120         -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE) \
121         -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilc.la
122
123 #ifdef SILC_DIST_CLIENTLIB
124 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
125 LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
126 LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
127
128 libsilcclient.a:
129         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
130         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
131         -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE) \
132         -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilcclient.la
133 #endif SILC_DIST_CLIENTLIB
134
135 #ifdef SILC_DIST_SERVERLIB
136 LIBSILCSERVER_CURRENT=@LIBSILCSERVER_CURRENT@
137 LIBSILCSERVER_REVISION=@LIBSILCSERVER_REVISION@
138 LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
139
140 libsilcserver.a:
141         find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
142         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
143         -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE) \
144         -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilcserver.la
145 #endif SILC_DIST_SERVERLIB
146
147 #ifdef SILC_DIST_TOOLKIT
148 pkgconfigdir = $(libdir)/pkgconfig
149 pkgconfig_DATA = silc.pc                \
150 #ifdef SILC_DIST_CLIENTLIB
151                 silcclient.pc           \
152 #endif SILC_DIST_CLIENTLIB
153 #ifdef SILC_DIST_SERVERLIB
154                 silcserver.pc
155 #endif SILC_DIST_SERVERLIB
156
157 EXTRA_DIST =    silc.pc.in              \
158 #ifdef SILC_DIST_CLIENTLIB
159                 silcclient.pc.in        \
160 #endif SILC_DIST_CLIENTLIB
161 #ifdef SILC_DIST_SERVERLIB
162                 silcserver.pc.in
163 #endif SILC_DIST_SERVERLIB
164
165 toolkit-install:
166         -mkdir -p $(docdir)/toolkit/
167         -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
168         -$(INSTALL_DATA) $(top_srcdir)/lib/doc/*.gif $(docdir)/toolkit
169         -cp -R $(top_srcdir)/tutorial $(docdir)
170 #endif SILC_DIST_TOOLKIT
171
172 install-data-hook:      \
173 #ifdef SILC_DIST_TOOLKIT
174         toolkit-install
175 #endif SILC_DIST_TOOLKIT
176
177 include $(top_srcdir)/Makefile.defines.in