AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
if SILC_SIM
-noinst_LIBRARIES = libsilcsim.a
+noinst_LTLIBRARIES = libsilcsim.la
else
-noinst_LIBRARIES =
+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 \
aes.o \
rsa.o \
twofish.o \
all: $(SIM_CIPHER_OBJS) $(SIM_HASH_OBJS)
endif
-$(SIM_CIPHER_OBJS): ../silccrypt/libsilccrypt.a
- rm -rf $*.c $*.o
- $(LN_S) $(srcdir)/../silccrypt/$*.c $*.c
- $(COMPILE) $(SIM_CFLAGS) $*.c -o $(SIM_MODULES_DIR)/$*.sim.so
- $(LN_S) $(srcdir)/$(SIM_MODULES_DIR)/$*.sim.so $*.o
- rm -rf $*.c
+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_HASH_OBJS): ../silccrypt/libsilccrypt.a
- rm -rf $*.c $*.o
- $(LN_S) $(srcdir)/../silccrypt/$*.c $*.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
-CLEANFILES = $(SIM_MODULES_DIR)/*.sim.so
+CLEANFILES = *.sim.so *.la
+
+if SILC_DIST_TOOLKIT
+include_HEADERS = silcsim.h silcsimutil.h
+endif
EXTRA_DIST = *.h