1 2SUBDIRS = xsl xml include types basic core events . ocaml test 3 4ARCHIVE = mlgdome 5PKGNAME = gdome2 6OCAMLBUILDDIR = $(top_builddir)/src/gdome_caml 7OCAMLINSTALLDIR = $(DESTDIR)$(OCAML_LIB_PREFIX)/$(PKGNAME) 8STUBSDIR = $(DESTDIR)$(OCAML_LIB_PREFIX)/stublibs 9OCAMLFLAGS = \ 10 -I $(OCAMLBUILDDIR)/types \ 11 -I $(OCAMLBUILDDIR)/core \ 12 -I $(OCAMLBUILDDIR)/basic 13OCAMLC = @OCAMLC@ ${OCAMLFLAGS} 14OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS} 15OCAMLDEP = @OCAMLDEP@ 16OCAML_CFLAGS = @OCAML_CFLAGS@ 17OCAMLFIND = @OCAMLFIND@ 18OCAMLMKLIB = ocamlmklib 19DLL = dll$(ARCHIVE).so 20 21CLEANFILES = \ 22 $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a \ 23 iDOMImplementation.cmi iDOMImplementation.cmo \ 24 iDOMImplementation.cmx iDOMImplementation.o \ 25 $(DLL) 26 27EXTRA_DIST = \ 28 META.in iDOMImplementation.ml iDOMImplementation.mli \ 29 .depend .linkorder \ 30 examples/Makefile \ 31 examples/test.ml \ 32 examples/hi.xml \ 33 doc/index.html 34 35if HAVE_OCAMLOPT_COND 36noinst_DATA = $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a $(DLL) 37else 38noinst_DATA = $(ARCHIVE).cma $(DLL) 39endif 40 41noinst_LTLIBRARIES = libmlgdome.la 42 43libmlgdome_la_SOURCES = ml_DOMImplementation.c 44 45LIB_DEPS = \ 46 $(patsubst %, basic/%, $(shell cat $(srcdir)/basic/.linkorder)) \ 47 $(patsubst %, core/%, $(shell cat $(srcdir)/core/.linkorder)) \ 48 $(patsubst %, events/%, $(shell cat $(srcdir)/events/.linkorder)) \ 49 $(shell cat $(srcdir)/.linkorder) 50O_S = \ 51 $(patsubst basic/%.c, basic/.libs/%.o, $(wildcard basic/ml_*.c)) \ 52 $(patsubst core/%.c, core/.libs/%.o, $(wildcard core/ml_*.c)) \ 53 $(patsubst events/%.c, events/.libs/%.o, $(wildcard events/ml_*.c)) \ 54 $(patsubst %.c, .libs/%.o, $(wildcard ml_*.c)) 55LO_S = $(patsubst %.o, %.lo, $(O_S)) 56CMA_DEPS = $(LIB_DEPS:%=%.cmo) 57CMXA_DEPS = $(LIB_DEPS:%=%.cmx) 58 59$(ARCHIVE).cma: $(CMA_DEPS) iDOMImplementation.cmo 60 $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(GDOME_LIBS) 61$(ARCHIVE).cmxa: $(CMXA_DEPS) iDOMImplementation.cmx 62 $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(GDOME_LIBS) 63lib$(ARCHIVE).a $(DLL): $(O_S) 64 $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(GDOME_LIBS) 65 66INCLUDES = $(OCAML_CFLAGS) $(GDOME_CFLAGS) -I$(srcdir)/include 67 68NULL = 69BYTE_INST = iDOMImplementation.cmi iDOMImplementation.ml iDOMImplementation.mli $(ARCHIVE).cma lib$(ARCHIVE).a $(DLL) 70OPT_INST = $(BYTE_INST) $(ARCHIVE).cmxa $(ARCHIVE).a 71 72if HAVE_OCAMLOPT_COND 73install-data-local: $(OPT_INST) 74else 75install-data-local: $(BYTE_INST) 76endif 77 $(mkinstalldirs) $(OCAMLINSTALLDIR) $(STUBSDIR) 78 for i in $^; do \ 79 if [ "$$i" != "$(DLL)" ]; then \ 80 $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR)/$$i; \ 81 fi \ 82 done 83 if [ "x$(OCAMLFIND)" != "x" ]; then \ 84 mv $(OCAMLINSTALLDIR) $(OCAMLINSTALLDIR).saved && \ 85 $(mkinstalldirs) $(DESTDIR)$(OCAML_LIB_PREFIX)/ && \ 86 $(OCAMLFIND) install -destdir $(DESTDIR)$(OCAML_LIB_PREFIX)/ $(PKGNAME) META $(DLL) && \ 87 $(INSTALL_DATA) $(OCAMLINSTALLDIR).saved/* $(OCAMLINSTALLDIR)/ && \ 88 rm -rf $(OCAMLINSTALLDIR).saved/; \ 89 else \ 90 $(INSTALL_DATA) $(DLL) $(STUBSDIR); \ 91 fi 92 93uninstall-local: 94 if [ "x$(OCAMLFIND)" != "x" ]; then \ 95 $(OCAMLFIND) remove -destdir $(DESTDIR)$(OCAML_LIB_PREFIX)/ $(PKGNAME); \ 96 else \ 97 rm -rf $(OCAMLINSTALLDIR); \ 98 rm $(STUBSDIR)/$(DLL); \ 99 fi 100 rm $(STUBSDIR)/lib$(ARCHIVE).so 101 102#### OCaml only stuff from now on 103 104DEPOBJS = iDOMImplementation.ml iDOMImplementation.mli 105LINKORDER = iDOMImplementation 106 107depend: 108 $(OCAMLDEP) $(DEPOBJS) > .depend 109 echo "$(LINKORDER)" > .linkorder 110 111%.cmi : $(srcdir)/%.mli 112 if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 113 $(OCAMLC) -c $(@:%.cmi=%.mli) 114 115%.cmo : $(srcdir)/%.ml 116 if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 117 $(OCAMLC) -c $(@:%.cmo=%.ml) 118 119%.cmx %.o : $(srcdir)/%.ml 120 if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi 121 $(OCAMLOPT) -c $(@:%.cmx=%.ml) 122 123include .depend 124 125