silcske \
silcutil \
silcclient \
- dotconf \
- trq
-# zlib
+ silcsftp
+# zlib
SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
silcmath \
silcske \
silcutil \
- trq \
- dotconf
+ silcsftp
# SILC Client Library dirs
SILCCLIENTLIB_DIRS = \
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 $(DESTDIR)$(libdir)
+ -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
+ -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
+else
+install-exec-hook:
+ -mkdir -p $(libdir)
+ -$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
+ -rm -rf $(DESTDIR)$(libdir)/libsilc.a
+if SILC_DIST_CLIENT
+ -$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
+ -rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
+endif
+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
+
+LIB_BASE_VERSION=@LIB_BASE_VERSION@
+LIBSILC_CURRENT=@LIBSILC_CURRENT@
+LIBSILC_REVISION=@LIBSILC_REVISION@
+LIBSILC_AGE=@LIBSILC_AGE@
+LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@
+LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@
+LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@
+
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) \
+ -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE) \
+ -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(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) \
+ -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE) \
+ -release $(LIB_BASE_VERSION) -rpath $(DESTDIR)$(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)