Merge commit 'origin/silc.1.1.branch'
[silc.git] / lib / Makefile.ad
index 4622541c7c7c5883b77d60dc5185362de21a6be9..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
 
 AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
 
-#ifdef SILC_DIST_SFTP
-#      silcsftp
-#endif SILC_DIST_SFTP
-
 # SILC Library dirs
 SILCLIB_DIRS =                 \
-       contrib         \
        silccore        \
-       silcutil        \
-       silccrypt       \
-#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
+       silcapputil     \
        silcske         \
-#ifdef SILC_DIST_HTTP
-       silchttp        \
-#endif SILC_DIST_HTTP
-#ifdef SILC_DIST_IDCACHE
-       silcidcache     \
-#endif SILC_DIST_IDCACHE
-#ifdef SILC_DIST_IDCACHE
+#ifdef SILC_DIST_SFTP
+       silcsftp        \
+#endif SILC_DIST_SFTP
+#ifdef SILC_DIST_VCARD
        silcvcard       \
-#endif SILC_DIST_IDCACHE
+#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
 
@@ -66,25 +71,28 @@ SILCSERVERLIB = libsilcserver.a
 
 SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
 
-CLEANFILES = libsilc.a libsilcclient.a libsilcserver.a
-DISTCLEANFILES = libsilc.a libsilcclient.a libsilcserver.a
+CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
+DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
 
 remove:
-       -rm -f libsilc.a
-       -rm -f libsilcclient.a
-       -rm -f libsilcserver.a
+       -rm -f $(CLEANFILES)
 
-all:   remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
+all:
+       $(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
 
 #ifdef SILC_DIST_TOOLKIT
 install-exec-hook:
        -mkdir -p $(DESTDIR)$(libdir)
        -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
+#ifdef SILC_DIST_CLIENTLIB
        -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
        -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
+#endif SILC_DIST_SERVERLIB
 #else !SILC_DIST_TOOLKIT
 
-#ifdef SILC_DIST_SERVER
+#ifdef SILC_DIST_SERVERLIB
 install-exec-hook:
 if SILC_ENABLE_SHARED
        -mkdir -p $(libdir)
@@ -93,9 +101,9 @@ if SILC_ENABLE_SHARED
        -rm -rf $(DESTDIR)$(libdir)/libsilc.a
        -rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
 endif
-#endif SILC_DIST_SERVER
+#endif SILC_DIST_SERVERLIB
 
-#ifdef SILC_DIST_CLIENT
+#ifdef SILC_DIST_CLIENTLIB
 install-exec-hook:
 if SILC_ENABLE_SHARED
        -mkdir -p $(libdir)
@@ -104,7 +112,7 @@ if SILC_ENABLE_SHARED
        -rm -rf $(DESTDIR)$(libdir)/libsilc.a
        -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
 endif
-#endif SILC_DIST_CLIENT
+#endif SILC_DIST_CLIENTLIB
 #endif SILC_DIST_TOOLKIT
 
 LIB_BASE_VERSION=@LIB_BASE_VERSION@
@@ -114,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@
@@ -126,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
@@ -137,19 +145,29 @@ 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
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = silc.pc silcclient.pc silcserver.pc
+pkgconfig_DATA = silc.pc               \
+#ifdef SILC_DIST_CLIENTLIB
+               silcclient.pc           \
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
+               silcserver.pc
+#endif SILC_DIST_SERVERLIB
 
-EXTRA_DIST = silc.pc.in silcclient.pc.in silcserver.pc.in
-#endif SILC_DIST_TOOLKIT
+EXTRA_DIST =   silc.pc.in              \
+#ifdef SILC_DIST_CLIENTLIB
+               silcclient.pc.in        \
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
+               silcserver.pc.in
+#endif SILC_DIST_SERVERLIB
 
-#ifdef SILC_DIST_TOOLKIT
 toolkit-install:
        -mkdir -p $(docdir)/toolkit/
        -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit