X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fgdome_xslt%2Focaml%2Fgdome_xslt%2FMakefile.am;h=4da9bef886c84e9faa14755cad08202ea1149406;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=a5adeb590817f41d5fe04af8c803eb781b2350ec;hpb=20cfc5110b6140b4d54056026ec9c661deb9d358;p=helm.git diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am index a5adeb590..4da9bef88 100644 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am +++ b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am @@ -1,79 +1,114 @@ -PKGNAME = gdome2-xslt + ARCHIVE = mlgdome2-xslt -REQUIRES = gdome2 +PKGNAME = gdome2-xslt +OCAMLINSTALLDIR = $(DESTDIR)$(OCAMLSTDLIBDIR)/$(PKGNAME) +STUBSDIR = $(DESTDIR)$(OCAMLSTUBDIR) +OCAMLFLAGS = -I +gdome2 +OCAMLC = @OCAMLC@ ${OCAMLFLAGS} +OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS} +OCAMLDEP = @OCAMLDEP@ +OCAML_CFLAGS = @OCAML_CFLAGS@ OCAMLFIND = @OCAMLFIND@ -OCAMLC = $(OCAMLFIND) @OCAMLC@ -package "$(REQUIRES)" -OCAMLOPT = $(OCAMLFIND) @OCAMLOPT@ -package "$(REQUIRES)" -OCAMLDEP = $(OCAMLFIND) @OCAMLDEP@ -package "$(REQUIRES)" -OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKLIB = ocamlmklib DLL = dll$(ARCHIVE).so -OCAMLSTDLIBDIR = $(DESTDIR)/@OCAMLSTDLIBDIR@ -OCAMLSTUBDIR = $(DESTDIR)/@OCAMLSTUBDIR@ -OCAMLINSTALLDIR = $(OCAMLSTDLIBDIR)/$(PKGNAME) -MODULES = i_gdome_xslt gdome_xslt -INIT = gdome_xslt_init -CMI_S = $(MODULES:%=%.cmi) -CMO_S = $(MODULES:%=%.cmo) -CMX_S = $(MODULES:%=%.cmx) -O_S = ml_gdome_xslt.o $(top_builddir)/C/gdome_xslt/gdome_xslt.o -SHARED_LIBS = -lxslt -lgdome -lglib -lxml2 -lmlgdome -BYTE_STUFF = $(ARCHIVE).cma $(INIT).cmo -NATIVE_STUFF = $(ARCHIVE).cmxa $(ARCHIVE).a $(INIT).cmx -BYTE_INSTALL_STUFF = \ - i_gdome_xslt.cmi gdome_xslt.cmi gdome_xslt.mli $(ARCHIVE).cma \ - $(INIT).cmi $(INIT).cmo $(INIT).mli $(DLL) META -NATIVE_INSTALL_STUFF = $(ARCHIVE).a $(ARCHIVE).cmxa $(INIT).cmx $(INIT).o + +BUILT_SOURCES = x_gdome_xslt.c + +CLEANFILES = \ + $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a $(DLL) \ + *.cmo *.cmx *.cmi $(BUILT_SOURCES) EXTRA_DIST = \ - META.in gdome_xslt.ml gdome_xslt.mli \ - gdome_xslt_init.ml gdome_xslt_init.mli i_gdome_xslt.ml \ - ml_gdome_xslt.c ml_gdome_xslt.h ocaml-io.h .depend + META.in .depend \ + gdome_xslt.ml gdome_xslt.mli gdome_xslt_init.ml gdome_xslt_init.mli \ + i_gdome_xslt.ml \ + ocaml-io.h if HAVE_OCAMLOPT_COND -noinst_DATA = $(BYTE_STUFF) $(NATIVE_STUFF) +noinst_DATA = \ + $(ARCHIVE).cma $(DLL) $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a \ + gdome_xslt_init.cmo gdome_xslt_init.cmx else -noinst_DATA = $(BYTE_STUFF) +noinst_DATA = \ + $(ARCHIVE).cma $(DLL) gdome_xslt_init.cmo lib$(ARCHIVE).a endif -noinst_LTLIBRARIES = libmlgdome2_xslt.la -libmlgdome2_xslt_la_SOURCES = ml_gdome_xslt.c +noinst_LTLIBRARIES = libmlgdome2-xslt.la +C_SRC = ml_gdome_xslt.c x_gdome_xslt.c +libmlgdome2_xslt_la_SOURCES = $(C_SRC) + +O_S = $(C_SRC:%.c=.libs/%.o) +LO_S = $(O_S:%.o=%.lo) +CMA_DEPS = i_gdome_xslt.cmo gdome_xslt.cmo +CMXA_DEPS = $(CMA_DEPS:%.cmo=%.cmx) +SHARED_LIBS = $(LIBXSLT_LIBS) $(GDOME_LIBS) + +x_gdome_xslt.c: $(top_srcdir)/C/gdome_xslt/gdome_xslt.c + cp $< $@ + +$(ARCHIVE).cma: $(CMA_DEPS) + $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) +$(ARCHIVE).cmxa: $(CMXA_DEPS) + $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) +lib$(ARCHIVE).a $(DLL): $(O_S) + $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS) + +INCLUDES = $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) -I/usr/include/caml -I$(top_srcdir)/C/gdome_xslt +BYTECODE_STUFF = \ + $(ARCHIVE).cma $(DLL) i_gdome_xslt.cmi i_gdome_xslt.ml gdome_xslt.cmi \ + gdome_xslt.mli gdome_xslt_init.cmi gdome_xslt_init.mli gdome_xslt_init.cmo \ + lib$(ARCHIVE).a +NATIVECODE_STUFF = \ + $(ARCHIVE).cmxa $(ARCHIVE).a gdome_xslt_init.cmx gdome_xslt_init.o if HAVE_OCAMLOPT_COND -install-data-local: $(BYTE_INSTALL_STUFF) $(NATIVE_INSTALL_STUFF) +install-data-local: $(BYTECODE_STUFF) $(NATIVECODE_STUFF) else -install-data-local: $(BYTE_INSTALL_STUFF) +install-data-local: $(BYTECODE_STUFF) endif - $(mkinstalldirs) $(OCAMLSTDLIBDIR) $(OCAMLSTUBDIR) + $(mkinstalldirs) $(OCAMLINSTALLDIR) $(STUBSDIR) chmod -x $(DLL) - $(OCAMLFIND) install -destdir $(OCAMLSTDLIBDIR) $(PKGNAME) $^ - ln -fs $(DLL) $(OCAMLSTUBDIR)/lib$(ARCHIVE).so - -CLEANFILES = \ - $(ARCHIVE).{cma,cmxa,a} $(CMI_S) $(CMO_S) $(CMX_S) ml_gdome_xslt.o \ - $(DLL) $(INIT).cm[iox] libmlgdome2-xslt.a - -INCLUDES = \ - $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) \ - -I/usr/include/caml -I$(top_srcdir)/C/gdome_xslt - -$(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) - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo: %.ml %.cmi - $(OCAMLC) -c $< -%.cmx: %.ml %.cmi - $(OCAMLOPT) -c $< - -i_gdome_xslt.cmo: i_gdome_xslt.ml - $(OCAMLC) -c $< -i_gdome_xslt.cmx: i_gdome_xslt.ml - $(OCAMLOPT) -c $< - -depend: *.ml *.mli - $(OCAMLDEP) *.ml *.mli >.depend + for i in $^; do \ + if [ "$$i" != "$(DLL)" ]; then \ + $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR)/$$i; \ + fi \ + done + if [ "x$(OCAMLFIND)" != "x" ]; then \ + mv $(OCAMLINSTALLDIR) $(OCAMLINSTALLDIR).saved; \ + $(OCAMLFIND) install -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME) META $(DLL); \ + $(INSTALL_DATA) $(OCAMLINSTALLDIR).saved/* $(OCAMLINSTALLDIR)/; \ + rm -rf $(OCAMLINSTALLDIR).saved/; \ + else \ + $(INSTALL_DATA) $(DLL) $(STUBSDIR); \ + fi + +uninstall-local: + if [ "x$(OCAMLFIND)" != "x" ]; then \ + $(OCAMLFIND) remove -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME); \ + else \ + rm -rf $(OCAMLINSTALLDIR); \ + rm $(STUBSDIR)/$(DLL); \ + fi + rm $(STUBSDIR)/lib$(ARCHIVE).so + +#### OCaml only stuff from now on + +DEPOBJS = *.ml *.mli + +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