Merge commit 'origin/silc.1.1.branch'
[silc.git] / lib / Makefile.ad
index 47844fa609a779b2c84fac83897de4f211a040e8..9312320c993b48e7c9f6d1c037212257b45f269f 100644 (file)
@@ -3,7 +3,7 @@
 #
 #  Author: Pekka Riikonen <priikone@silcnet.org>
 #
-#  Copyright (C) 2000 - 2005 Pekka Riikonen
+#  Copyright (C) 2000 - 2007 Pekka Riikonen
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -19,29 +19,9 @@ AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
 
 # SILC Library dirs
 SILCLIB_DIRS =                 \
-       contrib         \
        silccore        \
-       silcutil        \
        silcapputil     \
-#ifdef SILC_DIST_CRYPTO
-       silccrypt       \
-#endif SILC_DIST_CRYPTO
-#ifdef SILC_DIST_SKR
-       silcskr         \
-#endif SILC_DIST_SKR
-#ifdef SILC_DIST_MATH
-       silcmath        \
-#endif SILC_DIST_MATH
-#ifdef SILC_DIST_SIM
-       silcsim         \
-#endif SILC_DIST_SIM
-#ifdef SILC_DIST_ASN1
-       silcasn1        \
-#endif SILC_DIST_ASN1
        silcske         \
-#ifdef SILC_DIST_HTTP
-       silchttp        \
-#endif SILC_DIST_HTTP
 #ifdef SILC_DIST_SFTP
        silcsftp        \
 #endif SILC_DIST_SFTP
@@ -49,6 +29,32 @@ SILCLIB_DIRS =               \
        silcvcard       \
 #endif SILC_DIST_VCARD
 
+if SILC_ENABLE_SHARED
+if SILC_WIN32
+LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -export-dynamic -no-undefined
+else
+LIBTOOL_OPTS= -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir)
+endif
+LIBTOOL_SILC_VERSION = -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE)
+LIBTOOL_SILCCLIENT_VERSION = -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE)
+LIBTOOL_SILCSERVER_VERSION = -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE)
+else
+LIBTOOL_OPTS=
+LIBTOOL_SILC_VERSION =
+LIBTOOL_SILCCLIENT_VERSION =
+LIBTOOL_SILCSERVER_VERSION =
+endif
+
+if SILC_WIN32
+SILC_LINK_LIBS=$(LIBS)
+SILCCLIENT_LINK_LIBS=$(LIBS) -lsilc
+SILCSERVER_LIBS=$(LIBS) -lsilc
+else
+SILC_LINK_LIBS=
+SILCCLIENT_LINK_LIBS=
+SILCSERVER_LIBS=
+endif
+
 SILCLIB = libsilc.a
 
 #ifdef SILC_DIST_CLIENTLIB
@@ -116,9 +122,9 @@ LIBSILC_AGE=@LIBSILC_AGE@
 
 libsilc.a:
        find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
-       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
-       -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE) \
-       -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilc.la
+       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) \
+       $(LIBTOOL_SILC_VERSION) \
+       $(LIBTOOL_OPTS) -o libsilc.la
 
 #ifdef SILC_DIST_CLIENTLIB
 LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
@@ -128,8 +134,8 @@ LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
 libsilcclient.a:
        find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
        $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
-       -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE) \
-       -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilcclient.la
+       $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) \
+       $(LIBTOOL_OPTS) -o libsilcclient.la
 #endif SILC_DIST_CLIENTLIB
 
 #ifdef SILC_DIST_SERVERLIB
@@ -139,9 +145,9 @@ LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
 
 libsilcserver.a:
        find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
-       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
-       -version-info $(LIBSILCSERVER_CURRENT):$(LIBSILCSERVER_REVISION):$(LIBSILCSERVER_AGE) \
-       -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(libdir) -o libsilcserver.la
+       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCSERVER_LIBS) \
+       $(LIBTOOL_SILCSERVER_VERSION) \
+       $(LIBTOOL_OPTS) -o libsilcserver.la
 #endif SILC_DIST_SERVERLIB
 
 #ifdef SILC_DIST_TOOLKIT