Added shared library compilation support.
[silc.git] / lib / Makefile.am.pre
index 543a179dd6176e3ba24d3ae27c25ff19d6107ea6..f09244a86e4988cf608347d446d83a874257cfda 100644 (file)
@@ -26,9 +26,9 @@ COMMONDIRS = \
        silcmath \
        silcske \
        silcutil \
-       dotconf \
-       trq
-#        zlib
+       silcclient \
+       silcsftp
+#      zlib
 
 SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
 DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
@@ -42,8 +42,7 @@ SILCLIB_DIRS = \
        silcmath \
        silcske \
        silcutil \
-       trq \
-       dotconf
+       silcsftp
 
 # SILC Client Library dirs
 SILCCLIENTLIB_DIRS = \
@@ -52,17 +51,66 @@ SILCCLIENTLIB_DIRS = \
 CLEANFILES = libsilc.a libsilcclient.a
 DISTCLEANFILES = libsilc.a libsilcclient.a
 
+if SILC_DIST_CLIENT
 all:  remove libsilc.a libsilcclient.a
+else
+if SILC_DIST_TOOLKIT
+all:  remove libsilc.a libsilcclient.a
+else
+if SILC_DIST_WIN32DLL
+all:  silc.dll silcclient.dll
+else
+all:  remove libsilc.a
+endif
+endif
+endif
 
 remove:
        -rm -rf libsilc.a
        -rm -rf libsilcclient.a
 
+if SILC_DIST_TOOLKIT
+install-exec-hook:
+       -mkdir -p $(libdir)
+       -$(LIBTOOL) $(INSTALL) libsilc.la $(libdir)/
+       -$(LIBTOOL) $(INSTALL) libsilcclient.la $(libdir)/
+else
+install-exec-hook:
+       -cd
+endif
+
+if SILC_DIST_WIN32DLL
+# WIN32 DLL generation
+silc.dll: libsilc.a
+       dllwrap --export-all --output-def silc.def --output-exp silc.exp \
+       --output-lib silc.lib --driver-name $(CC) --target i386-mingw32 \
+       -mno-cygwin -o silc.dll libsilc.a -lwsock32
+
+silcclient.dll: libsilcclient.a
+       dllwrap --export-all --output-def silcclient.def \
+       --output-lib silcclient.lib --output-exp silcclient.exp \
+       --driver-name $(CC) --target i386-mingw32 \
+       -mno-cygwin -o silcclient.dll libsilcclient.a -L. -lsilc -lwsock32
+endif
+
 libsilc.a:
-       find $(SILCLIB_DIRS) -type f -name *.o | xargs $(AR) cru libsilc.a
-       ranlib libsilc.a
+       find $(SILCLIB_DIRS) -type f -name *.lo | xargs \
+       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
+       -rpath $(libdir) -o libsilc.la
 
 libsilcclient.a:
-       find $(SILCCLIENTLIB_DIRS) -type f -name *.o | xargs $(AR) cru libsilcclient.a
-       ranlib libsilcclient.a
+       find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \
+       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
+       -rpath $(libdir) -o libsilcclient.la
+
+if SILC_DIST_TOOLKIT
+SILC_EXTRA_DIST = doc
+else
+if SILC_DIST_SERVER
+SILC_EXTRA_DIST = 
+else
+SILC_EXTRA_DIST =
+endif
+endif
 
+EXTRA_DIST = $(SILC_EXTRA_DIST)