#! /bin/sh /usr/share/dpatch/dpatch-run
## 03_makefile_cmxs.dpatch by Guillaume Yziquel <guillaume.yziquel@citycable.ch>
##
## DP: Generation, installation and removal of shared library pgocaml.cmxs.

@DPATCH@
diff -urNad pgocaml~/Makefile pgocaml/Makefile
--- pgocaml~/Makefile	2009-07-06 17:46:19.000000000 +0200
+++ pgocaml/Makefile	2009-07-06 17:47:16.000000000 +0200
@@ -61,7 +61,7 @@
 OBJS	:= pGOCaml_config.cmo pGOCaml_generic.cmo pGOCaml.cmo
 XOBJS	:= $(OBJS:.cmo=.cmx)
 
-all: META pGOCaml_config.ml pgocaml.cma pgocaml.cmxa pa_pgsql.cmo pgocaml_prof$(EXECUTABLE_SUFFIX)
+all: META pGOCaml_config.ml pgocaml.cma pgocaml.cmxa pgocaml.cmxs pa_pgsql.cmo pgocaml_prof$(EXECUTABLE_SUFFIX)
 
 test: test_pgocaml_lowlevel$(EXECUTABLE_SUFFIX) test_pgocaml$(EXECUTABLE_SUFFIX)
 
@@ -99,6 +99,9 @@
 pgocaml.cmxa: $(XOBJS)
 	ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -a -o $@ $^
 
+pgocaml.cmxs: pgocaml.cmxa
+	ocamlfind ocamlopt $(OCAMLOPTPACKAGES) -shared -linkall -o $@ $<
+
 pGOCaml_config.ml: pGOCaml_config.ml.in Makefile Makefile.config
 	< $< sed -e "s|@DEFAULT_UNIX_DOMAIN_SOCKET_DIR@|$(DEFAULT_UNIX_DOMAIN_SOCKET_DIR)|" > $@
 
@@ -127,7 +130,7 @@
 #
 
 clean:
-	rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *~ core .depend META \
+	rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.cmxs *.o *.a *.so *~ core .depend META \
 	test_pgocaml_lowlevel test_pgocaml pgocaml_prof
 
 #
@@ -150,7 +153,7 @@
 #
 
 findlib_install:
-	ocamlfind install $(PACKAGE) META pgocaml.a pgocaml.cma pgocaml.cmxa pGOCaml_generic.cm[ix] pGOCaml.cm[ix] pa_pgsql.cmo pGOCaml_generic.mli pGOCaml.mli
+	ocamlfind install $(PACKAGE) META pgocaml.a pgocaml.cma pgocaml.cmxa pgocaml.cmxs pGOCaml_generic.cm[ix] pGOCaml.cm[ix] pa_pgsql.cmo pGOCaml_generic.mli pGOCaml.mli
 
 reinstall:
 	ocamlfind remove $(PACKAGE)
