OCAMLBUILDDIR = $(top_builddir)/src/gdome_caml OCAMLINSTALLDIR = $(DESTDIR)$(OCAML_LIB_PREFIX)/gdome2 OCAMLFLAGS = \ -I $(OCAMLBUILDDIR) \ -I $(OCAMLBUILDDIR)/types \ -I $(OCAMLBUILDDIR)/basic \ -I $(OCAMLBUILDDIR)/core \ -I $(OCAMLBUILDDIR)/events OCAMLC = @OCAMLC@ ${OCAMLFLAGS} OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS} OCAMLDEP = @OCAMLDEP@ OCAML_CFLAGS = @OCAML_CFLAGS@ ARCHIVE = mlogdome MODULES = \ Node \ NodeList \ NamedNodeMap \ CharacterData \ Attr \ Element \ Text \ Comment \ CDATASection \ DocumentType \ Notation \ Entity \ EntityReference \ ProcessingInstruction \ DocumentFragment \ Document EVENTS_MODULES = \ EventTarget \ Event \ MutationEvent O_AUTO_ML = \ gdome.ml ALL_ML_SOURCES_ = $(O_AUTO_ML) $(O_AUTO_ML:%.ml=%.mli) # OCaml objects OCAML_OBJECTS = $(O_AUTO_ML:%.ml=%.cmo) OCAMLOPT_OBJECTS = $(O_AUTO_ML:%.ml=%.cmx) OCAML_INTERFACES = $(O_AUTO_ML:%.ml=%.cmi) BUILT_SOURCES = $(O_AUTO_ML) $(O_AUTO_ML:%.ml=%.mli) DISTCLEANFILES = \ $(O_AUTO_ML) CLEANFILES = \ $(O_AUTO_ML:%.ml=%.mli) \ $(OCAML_INTERFACES) \ $(OCAML_OBJECTS) \ $(OCAMLOPT_OBJECTS) \ $(O_AUTO_ML:%.ml=%.o) \ $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a EXTRA_DIST = \ $(ALL_ML_SOURCES_) \ gdomeCore.ml.prefix \ gdomeCore.ml.suffix \ gdomeEvents.ml.prefix \ gdomeEvents.ml.suffix \ gdomeCore.mli.prefix \ gdomeCore.mli.suffix \ gdomeEvents.mli.prefix \ gdomeEvents.mli.suffix \ .depend XML2OML = $(srcdir)/../xsl/xml2oml.xsl XML2OMLI = $(srcdir)/../xsl/xml2omli.xsl XML2OMLCASTS = $(srcdir)/../xsl/xml2omlcasts.xsl XML2OMLICASTS = $(srcdir)/../xsl/xml2omlicasts.xsl XSLUTILS = $(srcdir)/../xsl/xslutils.xsl XML2MLDOC = $(srcdir)/../xsl/xml2mldoc.xsl if HAVE_OCAMLOPT_COND noinst_DATA = $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a else noinst_DATA = $(ARCHIVE).cma endif $(ARCHIVE).cma : $(OCAML_OBJECTS) $(OCAMLC) -o $@ -a $^ $(ARCHIVE).cmxa $(ARCHIVE).a : $(OCAMLOPT_OBJECTS) $(OCAMLOPT) -o $@ -a $^ if HAVE_XSLTPROC_COND gdome.ml : $(XML2OML) $(XSLUTILS) $(XML2OMLCASTS) \ $(MODULES:%=$(top_srcdir)/xml/DOM/Core/%.xml) \ $(MODULES:%=$(srcdir)/../xml/Core/%.xml) \ $(EVENTS_MODULES:%=$(top_srcdir)/xml/DOM/Events/%.xml) \ $(EVENTS_MODULES:%=$(srcdir)/../xml/Events/%.xml) \ gdomeCore.ml.prefix gdomeCore.ml.suffix \ gdomeEvents.ml.prefix gdomeEvents.ml.suffix cp gdomeCore.ml.prefix $@ echo "(********** Events Module: generated class definitions **********)" >> $@ for i in $(EVENTS_MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Events'" --param annotations "'$(srcdir)/../xml/Events/$$i.xml'" --param module "'$$i'" $(XML2OML) $(top_srcdir)/xml/DOM/Events/$$i.xml >> $@ ; done cat gdomeEvents.ml.prefix >> $@ echo "(********** Core Module: generated class definitions **********)" >> $@ for i in $(MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Core'" --param annotations "'$(srcdir)/../xml/Core/$$i.xml'" --param module "'$$i'" $(XML2OML) $(top_srcdir)/xml/DOM/Core/$$i.xml >> $@ ; done cat gdomeCore.ml.suffix >> $@ cat gdomeEvents.ml.suffix >> $@ echo " " >> $@ echo "(********** Events Module: generated dynamic down-casts **********)" >> $@ for i in $(EVENTS_MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Events'" --param annotations "'$(srcdir)/../xml/Events/$$i.xml'" --param module "'$$i'" $(XML2OMLCASTS) $(top_srcdir)/xml/DOM/Events/$$i.xml >> $@ ; done echo " " >> $@ echo "(********** Core Module: generated dynamic down-casts **********)" >> $@ for i in $(MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Core'" --param annotations "'$(srcdir)/../xml/Core/$$i.xml'" --param module "'$$i'" $(XML2OMLCASTS) $(top_srcdir)/xml/DOM/Core/$$i.xml >> $@ ; done gdome.mli : $(XML2OMLI) $(XSLUTILS) $(XML2MLDOC) $(XML2OMLICASTS) \ $(MODULES:%=$(top_srcdir)/xml/DOM/Core/%.xml) \ $(MODULES:%=$(srcdir)/../xml/Core/%.xml) \ $(EVENTS_MODULES:%=$(top_srcdir)/xml/DOM/Events/%.xml) \ $(EVENTS_MODULES:%=$(srcdir)/../xml/Events/%.xml) \ gdomeCore.mli.prefix gdomeCore.mli.suffix \ gdomeEvents.mli.prefix gdomeEvents.mli.suffix cp gdomeCore.mli.prefix $@ echo "(********** Events Module: generated class definitions **********)" >> $@ for i in $(EVENTS_MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Events'" --param annotations "'$(srcdir)/../xml/Events/$$i.xml'" --param module "'$$i'" $(XML2OMLI) $(top_srcdir)/xml/DOM/Events/$$i.xml >> $@ ; done cat gdomeEvents.mli.prefix >> $@ echo "(********** Core Module: generated class definitions **********)" >> $@ for i in $(MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Core'" --param annotations "'$(srcdir)/../xml/Core/$$i.xml'" --param module "'$$i'" $(XML2OMLI) $(top_srcdir)/xml/DOM/Core/$$i.xml >> $@ ; done cat gdomeCore.mli.suffix >> $@ cat gdomeEvents.mli.suffix >> $@ echo " " >> $@ echo "(********** Events Module: generated dynamic down-casts **********)" >> $@ for i in $(EVENTS_MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Events'" --param annotations "'$(srcdir)/../xml/Events/$$i.xml'" --param module "'$$i'" $(XML2OMLICASTS) $(top_srcdir)/xml/DOM/Events/$$i.xml >> $@ ; done echo " " >> $@ echo "(********** Core Module: generated dynamic down-casts **********)" >> $@ for i in $(MODULES) ; do $(XSLTPROC) --param uriprefix "'$(top_srcdir)/xml/DOM/Core'" --param annotations "'$(srcdir)/../xml/Core/$$i.xml'" --param module "'$$i'" $(XML2OMLICASTS) $(top_srcdir)/xml/DOM/Core/$$i.xml >> $@ ; done endif if HAVE_OCAMLOPT_COND install-data-local: $(OCAML_INTERFACES) gdome.mli $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a else install-data-local: $(OCAML_INTERFACES) gdome.mli $(ARCHIVE).cma endif $(mkinstalldirs) $(OCAMLINSTALLDIR) for i in $^; do \ $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR); \ done for i in $(ALL_ML_SOURCES); do \ $(INSTALL_DATA) $(srcdir)/$$i $(OCAMLINSTALLDIR); \ done #### OCaml only stuff from now on DEPOBJS = $(ALL_ML_SOURCES) depend: $(OCAMLDEP) $(DEPOBJS) > .depend %.cmi : $(srcdir)/%.mli if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi $(OCAMLC) -c $(@:%.cmi=%.mli) %.cmo : $(srcdir)/%.ml if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi $(OCAMLC) -c $(@:%.cmo=%.ml) %.cmx %.o : $(srcdir)/%.ml if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi $(OCAMLOPT) -c $(@:%.cmx=%.ml) include .depend