]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/ocaml/Makefile.am
* disable-shared doens't bother ocaml
[helm.git] / helm / DEVEL / mathml_editor / ocaml / Makefile.am
index 9962bf6b557c1c5eb2e8a12525703a6340e9fe3d..b43a0650eac71e4c12b8c40112a43ab1abb3fdb8 100644 (file)
@@ -5,7 +5,12 @@ OCAMLFIND = @OCAMLFIND@
 OCAMLC = $(OCAMLFIND) @OCAMLC@ -package "$(REQUIRES)"
 OCAMLOPT = $(OCAMLFIND) @OCAMLOPT@ -package "$(REQUIRES)"
 OCAMLDEP = $(OCAMLFIND) @OCAMLDEP@ -package "$(REQUIRES)"
-OCAMLMKLIB = @OCAMLMKLIB@
+if HAVE_SHAREDLIBS_COND
+OCAMLMKLIBFLAGS = 
+else
+OCAMLMKLIBFLAGS = -custom
+endif
+OCAMLMKLIB = @OCAMLMKLIB@ $(OCAMLMKLIBFLAGS)
 DLL = dll$(ARCHIVE).so
 OCAMLSTDLIBDIR = $(DESTDIR)/@OCAMLSTDLIBDIR@
 OCAMLSTUBDIR = $(DESTDIR)/@OCAMLSTUBDIR@
@@ -16,12 +21,12 @@ CMI_S = $(MODULES:%=%.cmi)
 CMO_S = $(MODULES:%=%.cmo)
 CMX_S = $(MODULES:%=%.cmx)
 O_S = ml_mathml_editor.o c_mathml_editor.o
+LO_S = $(O_S:%.o=%.lo)
 SHARED_LIBS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS) -lmlgdome2-xslt -lmlgdome
-BYTE_STUFF = $(ARCHIVE).cma
+BYTE_STUFF = i_mathml_editor.cmi mathml_editor.cmi $(ARCHIVE).cma $(DLL)
 NATIVE_STUFF = $(ARCHIVE).cmxa $(ARCHIVE).a
-BYTE_INSTALL_STUFF =   \
-       i_mathml_editor.cmi mathml_editor.cmi $(ARCHIVE).cma $(DLL) META
-NATIVE_INSTALL_STUFF = $(ARCHIVE).a $(ARCHIVE).cmxa
+BYTE_INSTALL_STUFF = $(BYTE_STUFF) META
+NATIVE_INSTALL_STUFF = $(NATIVE_STUFF)
 
 EXTRA_DIST =   \
        META.in mathml_editor.ml i_mathml_editor.ml     \
@@ -33,17 +38,11 @@ else
 noinst_DATA = $(BYTE_STUFF)
 endif
 
-noinst_LTLIBRARIES = libmlmathml_editor.la
+noinst_LTLIBRARIES = libmlmathml-editor.la
 libmlmathml_editor_la_SOURCES = \
   c_mathml_editor.cc \
   ml_mathml_editor.c
 
-#test: test.ml $(ARCHIVE).cma
-#      $(OCAMLC) -o $@ -linkpkg $(INCLUDES) $<
-
-#test.opt: test.ml $(ARCHIVE).cmxa
-#      $(OCAMLOPT) -o $@ -linkpkg $(INCLUDES) $<
-
 if HAVE_OCAMLOPT_COND
 install-data-local:    $(BYTE_INSTALL_STUFF) $(NATIVE_INSTALL_STUFF)
 else
@@ -56,17 +55,28 @@ endif
 
 CLEANFILES =   \
        $(ARCHIVE).{cma,cmxa,a} $(CMI_S) $(CMO_S) $(CMX_S) ml_mathml_editor.o   \
-       $(DLL) $(INIT).cm[iox] libmlmathml_editor.a
+       $(DLL) $(INIT).cm[iox] libmlmathml-editor.a
 
 INCLUDES =     \
        $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) \
        $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS) \
        -I$(top_srcdir)/src
 
-$(ARCHIVE).cma $(DLL): $(CMO_S)
-       $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMO_S) $(O_S) $(SHARED_LIBS)
-$(ARCHIVE).cmxa $(ARCHIVE).a: $(CMX_S)
-       $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMX_S) $(O_S) $(SHARED_LIBS)
+$(ARCHIVE).cma: $(CMO_S)
+       $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMO_S) $(SHARED_LIBS)
+
+$(ARCHIVE).cmxa: $(CMX_S)
+       $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMX_S) $(SHARED_LIBS)
+
+$(DLL) $(ARCHIVE).a: $(LO_S)
+       # use .lo for ocamlmklib
+       for f in $(LO_S); do    \
+               cp $$f $$f.o;   \
+       done
+       $(OCAMLMKLIB) -o $(ARCHIVE) $(GDOME_LIBS) $(LO_S:%=%.o)
+       for f in $(LO_S:%=%.o); do      \
+               rm $$f; \
+       done
 
 %.cmi: %.mli
        $(OCAMLC) -c $<