Merge commit 'origin/silc.1.1.branch'
[silc.git] / lib / Makefile.ad
index 48fefd898daa3c18f64870c26d194aa55856e7f6..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
 
-#endif SILC_DIST_SFTP
-
 # SILC Library dirs
-SILCLIB_DIRS = \
-       contrib \
-       silcutil \
-       silccrypt \
-#ifdef SILC_DIST_MATH
-       silcmath \
-#endif SILC_DIST_MATH
-#ifdef SILC_DIST_SIM
-       silcsim \
-#ifdef SILC_DIST_ASN1
-       silcasn1 \
-#endif SILC_DIST_ASN1
-#endif SILC_DIST_SIM
-       silccore \
-       silcske \
+SILCLIB_DIRS =                 \
+       silccore        \
+       silcapputil     \
+       silcske         \
 #ifdef SILC_DIST_SFTP
-       silcsftp
+       silcsftp        \
+#endif SILC_DIST_SFTP
+#ifdef SILC_DIST_VCARD
+       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
 
@@ -46,34 +63,47 @@ SILCCLIENTLIB_DIRS = silcclient
 SILCCLIENTLIB = libsilcclient.a
 #endif SILC_DIST_CLIENTLIB
 
-SUBDIRS = $(SILCLIB_DIRS) #$(SILCCLIENTLIB_DIRS)
+#ifdef SILC_DIST_SERVERLIB
+# SILC Server Library dirs
+SILCSERVERLIB_DIRS = silcserver
+SILCSERVERLIB = libsilcserver.a
+#endif SILC_DIST_SERVERLIB
 
-CLEANFILES = libsilc.a libsilcclient.a
-DISTCLEANFILES = libsilc.a libsilcclient.a
+SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
+
+CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
+DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
 
 remove:
-       -rm -f libsilc.a
-       -rm -f libsilcclient.a
+       -rm -f $(CLEANFILES)
 
-all:   remove $(SILCLIB) #$(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)
        -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
+       -$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
        -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)
@@ -82,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@
@@ -92,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@
@@ -104,18 +134,40 @@ 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
+LIBSILCSERVER_CURRENT=@LIBSILCSERVER_CURRENT@
+LIBSILCSERVER_REVISION=@LIBSILCSERVER_REVISION@
+LIBSILCSERVER_AGE=@LIBSILCSERVER_AGE@
+
+libsilcserver.a:
+       find $(SILCSERVERLIB_DIRS) -type f -name *.lo | xargs \
+       $(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
+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
-#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