Merged from silc_1_0_branch.
[silc.git] / lib / silcsim / Makefile.am
index 2a89eeefb6ca590a1aa99421425ac8e355d8491c..3e45d3d7521ff8b513100b8bd6570ad39613957b 100644 (file)
 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
 #
@@ -42,7 +36,6 @@ SIM_CIPHER_OBJS = \
         blowfish.o \
         rc5.o \
         rc6.o \
-        mars.o \
         aes.o \
         rsa.o \
         twofish.o \
@@ -59,21 +52,33 @@ if SILC_SIM
 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