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@
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 \
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
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 $<