AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
-noinst_LIBRARIES = libsilcsim.a
+if SILC_SIM
+noinst_LTLIBRARIES = libsilcsim.la
+else
+noinst_LTLIBRARIES =
+endif
-libsilcsim_a_SOURCES = \
+libsilcsim_la_SOURCES = \
silcsim.c \
silcsimutil.c
-SIM_CFLAGS = -fPIC -shared
-
-SIM_MODULES_DIR = modules
-
-SUBDIRS = modules
-
#
# SILC Ciphers to be compiled as modules
#
blowfish.o \
rc5.o \
rc6.o \
- mars.o \
- rijndael.o \
+ aes.o \
rsa.o \
- twofish.o
+ twofish.o \
+ cast.o
#
# SILC Hash Functions to be compiled as modules
md5.o \
sha1.o
+if SILC_SIM
all: $(SIM_CIPHER_OBJS) $(SIM_HASH_OBJS)
+endif
+
+if SILC_LIBTOOLFIX
+LTFLAGS = --libtool-enable-shared
+else
+LTFLAGS =
+endif
+
+$(SIM_CIPHER_OBJS):
+ @if test '!' -f lib$*.la ; then \
+ $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) \
+ ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS); \
+ cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so \
+ $(srcdir)/$*.sim.so; \
+ fi
-$(SIM_CIPHER_OBJS): ../silccrypt/libsilccrypt.a
- rm -rf $*.c $*.o
- $(LN_S) $(srcdir)/../silccrypt/$*.c
- $(COMPILE) $(SIM_CFLAGS) $*.c -o $(SIM_MODULES_DIR)/$*.sim.so
- $(LN_S) $(srcdir)/$(SIM_MODULES_DIR)/$*.sim.so $*.o
- rm -rf $*.c
+$(SIM_HASH_OBJS):
+ @if test '!' -f lib$*.la ; then \
+ $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) \
+ ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS); \
+ cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so \
+ $(srcdir)/$*.sim.so; \
+ fi
-$(SIM_HASH_OBJS): ../silccrypt/libsilccrypt.a
- rm -rf $*.c $*.o
- $(LN_S) $(srcdir)/../silccrypt/$*.c
- $(COMPILE) $(SIM_CFLAGS) $*.c -o $(SIM_MODULES_DIR)/$*.sim.so
- $(LN_S) $(srcdir)/$(SIM_MODULES_DIR)/$*.sim.so $*.o
- rm -rf $*.c
+CLEANFILES = *.sim.so *.la
-CLEANFILES = $(SIM_MODULES_DIR)/*.sim.so
+if SILC_DIST_TOOLKIT
+include_HEADERS = silcsim.h silcsimutil.h
+endif
EXTRA_DIST = *.h
-INCLUDES = -I. -I.. -I../silccrypt -I../silcmath -I../silcske \
- -I../silccore -I../.. -I../../includes \
- -I../silcmath/gmp-3.0.1
+include $(top_srcdir)/Makefile.defines.in