Merged from silc_1_0_branch.
[silc.git] / lib / silcsim / Makefile.am
index ef88be2b05348549631f6b6586a50eb1a6bc9b13..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,10 +36,10 @@ SIM_CIPHER_OBJS = \
         blowfish.o \
         rc5.o \
         rc6.o \
-        mars.o \
         aes.o \
         rsa.o \
-        twofish.o
+        twofish.o \
+       cast.o
 
 #
 # SILC Hash Functions to be compiled as modules
@@ -58,24 +52,34 @@ 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
-       $(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
-       $(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
 
-INCLUDES = -I. -I.. -I../silccrypt -I../silcmath -I../silcske \
-       -I../silccore -I../.. -I../silcutil -I../../includes \
-       -I../silcmath/gmp -I../trq
+include $(top_srcdir)/Makefile.defines.in