--- Makefile.orig	2005-04-20 14:19:54.000000000 +0100
+++ Makefile	2009-08-01 00:40:39.000000000 +0100
@@ -46,7 +46,7 @@
 
 all: libcryptokit.a cryptokit.cmi cryptokit.cma 
 
-allopt: libcryptokit.a cryptokit.cmi cryptokit.cmxa 
+allopt: libcryptokit.a cryptokit.cmi cryptokit.cmxs 
 
 libcryptokit.a: $(C_OBJS)
 	$(MKLIB) -o cryptokit $(C_OBJS) -L$(ZLIB_LIBDIR) $(ZLIB_LIB)
@@ -57,6 +57,9 @@
 cryptokit.cmxa: $(CAML_OBJS:.cmo=.cmx)
 	$(MKLIB) -o cryptokit $(CAML_OBJS:.cmo=.cmx) -L$(ZLIB_LIBDIR) $(ZLIB_LIB)
 
+cryptokit.cmxs: cryptokit.cmxa
+	$(OCAMLOPT) -shared -linkall -o $@ $< -cclib "-L. -L$(ZLIB_LIBDIR) $(ZLIB_LIB)"
+
 test: test.byt
 	$(OCAMLRUN) -I . ./test.byt
 
@@ -77,7 +80,7 @@
 	cp cryptokit.cmi cryptokit.cma cryptokit.mli $(INSTALLDIR)
 	cp libcryptokit.a $(INSTALLDIR)
 	if test -f dllcryptokit.so; then cp dllcryptokit.so $(INSTALLDIR)/stublibs; fi
-	if test -f cryptokit.cmxa; then cp cryptokit.cmxa cryptokit.cmx cryptokit.a $(INSTALLDIR); fi
+	if test -f cryptokit.cmxa; then cp cryptokit.cmxa cryptokit.cmxs cryptokit.cmx cryptokit.a $(INSTALLDIR); fi
 
 doc: FORCE
 	cd doc; $(OCAMLDOC) -html -I .. ../cryptokit.mli
