Added shared library compilation support.
[silc.git] / lib / Makefile.am.pre
1 #
2 #  Makefile.am
3 #
4 #  Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
5 #
6 #  Copyright (C) 2000 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; either version 2 of the License, or
11 #  (at your option) any later version.
12 #
13 #  This program is distributed in the hope that it will be useful,
14 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #  GNU General Public License for more details.
17 #
18
19 AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
20
21 COMMONDIRS = \
22         contrib \
23         silccore \
24         silccrypt \
25         silcsim \
26         silcmath \
27         silcske \
28         silcutil \
29         silcclient \
30         silcsftp
31 #       zlib
32
33 SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
34 DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
35
36 # SILC Library dirs
37 SILCLIB_DIRS = \
38         contrib \
39         silccore \
40         silccrypt \
41         silcsim \
42         silcmath \
43         silcske \
44         silcutil \
45         silcsftp
46
47 # SILC Client Library dirs
48 SILCCLIENTLIB_DIRS = \
49         silcclient
50
51 CLEANFILES = libsilc.a libsilcclient.a
52 DISTCLEANFILES = libsilc.a libsilcclient.a
53
54 if SILC_DIST_CLIENT
55 all:  remove libsilc.a libsilcclient.a
56 else
57 if SILC_DIST_TOOLKIT
58 all:  remove libsilc.a libsilcclient.a
59 else
60 if SILC_DIST_WIN32DLL
61 all:  silc.dll silcclient.dll
62 else
63 all:  remove libsilc.a
64 endif
65 endif
66 endif
67
68 remove:
69         -rm -rf libsilc.a
70         -rm -rf libsilcclient.a
71
72 if SILC_DIST_TOOLKIT
73 install-exec-hook:
74         -mkdir -p $(libdir)
75         -$(LIBTOOL) $(INSTALL) libsilc.la $(libdir)/
76         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(libdir)/
77 else
78 install-exec-hook:
79         -cd
80 endif
81
82 if SILC_DIST_WIN32DLL
83 # WIN32 DLL generation
84 silc.dll: libsilc.a
85         dllwrap --export-all --output-def silc.def --output-exp silc.exp \
86         --output-lib silc.lib --driver-name $(CC) --target i386-mingw32 \
87         -mno-cygwin -o silc.dll libsilc.a -lwsock32
88
89 silcclient.dll: libsilcclient.a
90         dllwrap --export-all --output-def silcclient.def \
91         --output-lib silcclient.lib --output-exp silcclient.exp \
92         --driver-name $(CC) --target i386-mingw32 \
93         -mno-cygwin -o silcclient.dll libsilcclient.a -L. -lsilc -lwsock32
94 endif
95
96 libsilc.a:
97         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
98         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
99         -rpath $(libdir) -o libsilc.la
100
101 libsilcclient.a:
102         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
103         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
104         -rpath $(libdir) -o libsilcclient.la
105
106 if SILC_DIST_TOOLKIT
107 SILC_EXTRA_DIST = doc
108 else
109 if SILC_DIST_SERVER
110 SILC_EXTRA_DIST = 
111 else
112 SILC_EXTRA_DIST =
113 endif
114 endif
115
116 EXTRA_DIST = $(SILC_EXTRA_DIST)