Merged from silc_1_0_branch.
[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 $(DESTDIR)$(libdir)
75         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
76         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
77 else
78 install-exec-hook:
79         -mkdir -p $(libdir)
80         -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
81         -rm -rf $(DESTDIR)$(libdir)/libsilc.a
82 if SILC_DIST_CLIENT
83         -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
84         -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
85 endif
86 endif
87
88 if SILC_DIST_WIN32DLL
89 # WIN32 DLL generation
90 silc.dll: libsilc.a
91         dllwrap --export-all --output-def silc.def --output-exp silc.exp \
92         --output-lib silc.lib --driver-name $(CC) --target i386-mingw32 \
93         -mno-cygwin -o silc.dll libsilc.a -lwsock32
94
95 silcclient.dll: libsilcclient.a
96         dllwrap --export-all --output-def silcclient.def \
97         --output-lib silcclient.lib --output-exp silcclient.exp \
98         --driver-name $(CC) --target i386-mingw32 \
99         -mno-cygwin -o silcclient.dll libsilcclient.a -L. -lsilc -lwsock32
100 endif
101
102 LIB_BASE_VERSION=@LIB_BASE_VERSION@
103 LIBSILC_CURRENT=@LIBSILC_CURRENT@
104 LIBSILC_REVISION=@LIBSILC_REVISION@
105 LIBSILC_AGE=@LIBSILC_AGE@
106 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
107 LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
108 LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
109
110 libsilc.a:
111         find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
112         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
113         -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE) \
114         -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilc.la
115
116 libsilcclient.a:
117         find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
118         $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
119         -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE) \
120         -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilcclient.la
121
122 if SILC_DIST_TOOLKIT
123 SILC_EXTRA_DIST = doc
124 else
125 if SILC_DIST_SERVER
126 SILC_EXTRA_DIST = 
127 else
128 SILC_EXTRA_DIST =
129 endif
130 endif
131
132 EXTRA_DIST = $(SILC_EXTRA_DIST)