1 2OCAMLBUILDDIR = $(top_builddir)/src/gdome_caml 3OCAMLINSTALLDIR = $(DESTDIR)$(OCAML_LIB_PREFIX)/gdome2 4 5OCAMLFLAGS = \ 6 -I $(OCAMLBUILDDIR) \ 7 -I $(OCAMLBUILDDIR)/types \ 8 -I $(OCAMLBUILDDIR)/basic \ 9 -I $(OCAMLBUILDDIR)/core \ 10 -I $(OCAMLBUILDDIR)/events 11 12OCAMLC = @OCAMLC@ ${OCAMLFLAGS} 13OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS} 14OCAMLDEP = @OCAMLDEP@ 15OCAML_CFLAGS = @OCAML_CFLAGS@ 16ARCHIVE = mlogdome 17 18MODULES = \ 19 Node \ 20 NodeList \ 21 NamedNodeMap \ 22 CharacterData \ 23 Attr \ 24 Element \ 25 Text \ 26 Comment \ 27 CDATASection \ 28 DocumentType \ 29 Notation \ 30 Entity \ 31 EntityReference \ 32 ProcessingInstruction \ 33 DocumentFragment \ 34 Document 35 36EVENTS_MODULES = \ 37 EventTarget \ 38 Event \ 39 MutationEvent 40 41O_AUTO_ML = \ 42 gdome.ml 43 44ALL_ML_SOURCES_ = $(O_AUTO_ML) $(O_AUTO_ML:%.ml=%.mli) 45 46# OCaml objects 47OCAML_OBJECTS = $(O_AUTO_ML:%.ml=%.cmo) 48OCAMLOPT_OBJECTS = $(O_AUTO_ML:%.ml=%.cmx) 49 50OCAML_INTERFACES = $(O_AUTO_ML:%.ml=%.cmi) 51 52BUILT_SOURCES = $(O_AUTO_ML) $(O_AUTO_ML:%.ml=%.mli) 53 54MAINTAINERCLEANFILES = \ 55 $(O_AUTO_ML:%.ml=%.mli) \ 56 $(O_AUTO_ML) 57 58CLEANFILES = \ 59 $(OCAML_INTERFACES) \ 60 $(OCAML_OBJECTS) \ 61 $(OCAMLOPT_OBJECTS) \ 62 $(O_AUTO_ML:%.ml=%.o) \ 63 $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a 64 65EXTRA_DIST = \ 66 $(ALL_ML_SOURCES_) \ 67 gdomeCore.ml.prefix \ 68 gdomeCore.ml.suffix \ 69 gdomeEvents.ml.prefix \ 70 gdomeEvents.ml.suffix \ 71 gdomeCore.mli.prefix \ 72 gdomeCore.mli.suffix \ 73 gdomeEvents.mli.prefix \ 74 gdomeEvents.mli.suffix \ 75 .depend 76 77XML2OML = $(srcdir)/../xsl/xml2oml.xsl 78XML2OMLI = $(srcdir)/../xsl/xml2omli.xsl 79XML2OMLCASTS = $(srcdir)/../xsl/xml2omlcasts.xsl 80XML2OMLICASTS = $(srcdir)/../xsl/xml2omlicasts.xsl 81XSLUTILS = $(srcdir)/../xsl/xslutils.xsl 82XML2MLDOC = $(srcdir)/../xsl/xml2mldoc.xsl 83 84if HAVE_OCAMLOPT_COND 85noinst_DATA = $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a 86else 87noinst_DATA = $(ARCHIVE).cma 88endif 89 90$(ARCHIVE).cma : $(OCAML_OBJECTS) 91 $(OCAMLC) -o $@ -a $^ 92 93$(ARCHIVE).cmxa $(ARCHIVE).a : $(OCAMLOPT_OBJECTS) 94 $(OCAMLOPT) -o $@ -a $^ 95 96if HAVE_XSLTPROC_COND 97 98gdome.ml : $(XML2OML) $(XSLUTILS) $(XML2OMLCASTS) \ 99 $(MODULES:%=$(top_srcdir)/xml/DOM/Core/%.xml) \ 100 $(MODULES:%=$(srcdir)/../xml/Core/%.xml) \ 101 $(EVENTS_MODULES:%=$(top_srcdir)/xml/DOM/Events/%.xml) \ 102 $(EVENTS_MODULES:%=$(srcdir)/../xml/Events/%.xml) \ 103 gdomeCore.ml.prefix gdomeCore.ml.suffix \ 104 gdomeEvents.ml.prefix gdomeEvents.ml.suffix 105 cp gdomeCore.ml.prefix $@ 106 echo "(********** Events Module: generated class definitions **********)" >> $@ 107 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 108 cat gdomeEvents.ml.prefix >> $@ 109 echo "(********** Core Module: generated class definitions **********)" >> $@ 110 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 111 cat gdomeCore.ml.suffix >> $@ 112 cat gdomeEvents.ml.suffix >> $@ 113 echo " " >> $@ 114 echo "(********** Events Module: generated dynamic down-casts **********)" >> $@ 115 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 116 echo " " >> $@ 117 echo "(********** Core Module: generated dynamic down-casts **********)" >> $@ 118 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 119 120gdome.mli : $(XML2OMLI) $(XSLUTILS) $(XML2MLDOC) $(XML2OMLICASTS) \ 121 $(MODULES:%=$(top_srcdir)/xml/DOM/Core/%.xml) \ 122 $(MODULES:%=$(srcdir)/../xml/Core/%.xml) \ 123 $(EVENTS_MODULES:%=$(top_srcdir)/xml/DOM/Events/%.xml) \ 124 $(EVENTS_MODULES:%=$(srcdir)/../xml/Events/%.xml) \ 125 gdomeCore.mli.prefix gdomeCore.mli.suffix \ 126 gdomeEvents.mli.prefix gdomeEvents.mli.suffix 127 cp gdomeCore.mli.prefix $@ 128 echo "(********** Events Module: generated class definitions **********)" >> $@ 129 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 130 cat gdomeEvents.mli.prefix >> $@ 131 echo "(********** Core Module: generated class definitions **********)" >> $@ 132 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 133 cat gdomeCore.mli.suffix >> $@ 134 cat gdomeEvents.mli.suffix >> $@ 135 echo " " >> $@ 136 echo "(********** Events Module: generated dynamic down-casts **********)" >> $@ 137 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 138 echo " " >> $@ 139 echo "(********** Core Module: generated dynamic down-casts **********)" >> $@ 140 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 141 142endif 143 144if HAVE_OCAMLOPT_COND 145install-data-local: $(OCAML_INTERFACES) gdome.mli $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a 146else 147install-data-local: $(OCAML_INTERFACES) gdome.mli $(ARCHIVE).cma 148endif 149 $(mkinstalldirs) $(OCAMLINSTALLDIR) 150 for i in $^; do \ 151 $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR); \ 152 done 153 for i in $(ALL_ML_SOURCES); do \ 154 $(INSTALL_DATA) $(srcdir)/$$i $(OCAMLINSTALLDIR); \ 155 done 156 157#### OCaml only stuff from now on 158 159DEPOBJS = $(ALL_ML_SOURCES) 160 161depend: 162 $(OCAMLDEP) $(DEPOBJS) > .depend 163 164%.cmi : $(srcdir)/%.mli 165 if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 166 $(OCAMLC) -c $(@:%.cmi=%.mli) 167 168%.cmo : $(srcdir)/%.ml 169 if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 170 $(OCAMLC) -c $(@:%.cmo=%.ml) 171 172%.cmx %.o : $(srcdir)/%.ml 173 if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 174 $(OCAMLOPT) -c $(@:%.cmx=%.ml) 175 176include .depend 177 178