]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am
6fa7a7f96edf34297d28faf6422e5370fbee68de
[helm.git] / helm / DEVEL / gdome_xslt / ocaml / gdome_xslt / Makefile.am
1
2 ARCHIVE = mlgdome2-xslt
3 PKGNAME = gdome2-xslt
4 OCAMLINSTALLDIR = $(DESTDIR)$(OCAMLSTDLIBDIR)/$(PKGNAME)
5 STUBSDIR = $(DESTDIR)$(OCAMLSTUBDIR)
6 OCAMLFLAGS = -I +gdome2
7 OCAMLC = @OCAMLC@ ${OCAMLFLAGS}
8 OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS}
9 OCAMLDEP = @OCAMLDEP@
10 OCAML_CFLAGS  = @OCAML_CFLAGS@
11 OCAMLFIND = @OCAMLFIND@
12 OCAMLMKLIB = ocamlmklib
13 DLL = dll$(ARCHIVE).so
14
15 BUILT_SOURCES = x_gdome_xslt.c
16
17 CLEANFILES = \
18   $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a $(DLL)    \
19   *.cmo *.cmx *.cmi
20
21 EXTRA_DIST =    \
22         META.in .depend \
23         gdome_xslt.ml gdome_xslt.mli gdome_xslt_init.ml gdome_xslt_init.mli     \
24         i_gdome_xslt.ml \
25         ocaml-io.h
26
27 if HAVE_OCAMLOPT_COND
28 noinst_DATA =   \
29         $(ARCHIVE).cma $(DLL) $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a      \
30         gdome_xslt_init.cmo gdome_xslt_init.cmx
31 else
32 noinst_DATA =   \
33         $(ARCHIVE).cma $(DLL) gdome_xslt_init.cmo lib$(ARCHIVE).a
34 endif
35
36 noinst_LTLIBRARIES = libmlgdome2-xslt.la
37 C_SRC = ml_gdome_xslt.c x_gdome_xslt.c 
38 libmlgdome2_xslt_la_SOURCES = $(C_SRC)
39
40 O_S = $(C_SRC:%.c=.libs/%.o)
41 LO_S = $(O_S:%.o=%.lo)
42 CMA_DEPS = i_gdome_xslt.cmo gdome_xslt.cmo
43 CMXA_DEPS = $(CMA_DEPS:%.cmo=%.cmx)
44 SHARED_LIBS = $(LIBXSLT_LIBS) $(GDOME_LIBS) -lmlgdome
45
46 x_gdome_xslt.c: $(top_srcdir)/C/gdome_xslt/gdome_xslt.c
47         cp $< $@
48
49 $(ARCHIVE).cma: $(CMA_DEPS)
50         $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMA_DEPS) $(SHARED_LIBS)
51
52 $(ARCHIVE).cmxa: $(CMXA_DEPS)
53         $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMXA_DEPS) $(SHARED_LIBS)
54
55 # $(DLL) lib$(ARCHIVE).a: $(LO_S)
56 # # use .lo for ocamlmklib
57 # for f in $(LO_S); do  \
58 # cp $$f $$f.o; \
59 # done
60 # $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(LO_S:%=%.o)  $(SHARED_LIBS)
61 # for f in $(LO_S:%=%.o); do    \
62 # rm $$f;       \
63 # done
64 #
65 $(DLL) lib$(ARCHIVE).a: $(O_S)
66         $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(O_S) $(SHARED_LIBS)
67
68 INCLUDES = $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) -I/usr/include/caml -I$(top_srcdir)/C/gdome_xslt
69
70 BYTECODE_STUFF =        \
71         $(ARCHIVE).cma $(DLL) i_gdome_xslt.cmi i_gdome_xslt.ml gdome_xslt.cmi   \
72         gdome_xslt.mli gdome_xslt_init.cmi gdome_xslt_init.mli gdome_xslt_init.cmo      \
73         lib$(ARCHIVE).a
74 NATIVECODE_STUFF =      \
75         $(ARCHIVE).cmxa $(ARCHIVE).a gdome_xslt_init.cmx gdome_xslt_init.o
76 if HAVE_OCAMLOPT_COND
77 install-data-local: $(BYTECODE_STUFF) $(NATIVECODE_STUFF)
78 else
79 install-data-local: $(BYTECODE_STUFF)
80 endif
81         $(mkinstalldirs) $(OCAMLINSTALLDIR) $(STUBSDIR)
82         chmod -x $(DLL)
83         for i in $^; do \
84                 if [ "$$i" != "$(DLL)" ]; then  \
85                         $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR)/$$i; \
86                 fi      \
87         done
88         if [ "x$(OCAMLFIND)" != "x" ]; then \
89                 mv $(OCAMLINSTALLDIR) $(OCAMLINSTALLDIR).saved; \
90                 $(OCAMLFIND) install -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME) META $(DLL); \
91                 $(INSTALL_DATA) $(OCAMLINSTALLDIR).saved/* $(OCAMLINSTALLDIR)/; \
92                 rm -rf $(OCAMLINSTALLDIR).saved/;       \
93         else    \
94                 $(INSTALL_DATA) $(DLL) $(STUBSDIR);     \
95         fi
96         ln -fs $(DLL) $(STUBSDIR)/lib$(ARCHIVE).so
97
98 uninstall-local:
99         if [ "x$(OCAMLFIND)" != "x" ]; then     \
100           $(OCAMLFIND) remove -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME); \
101         else    \
102                 rm -rf $(OCAMLINSTALLDIR);      \
103                 rm $(STUBSDIR)/$(DLL);  \
104         fi
105         rm $(STUBSDIR)/lib$(ARCHIVE).so
106
107 #### OCaml only stuff from now on
108
109 DEPOBJS = *.ml *.mli
110
111 depend:
112         $(OCAMLDEP) $(DEPOBJS) > .depend
113
114 %.cmi : $(srcdir)/%.mli
115         if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
116         $(OCAMLC) -c $(@:%.cmi=%.mli)
117
118 %.cmo : $(srcdir)/%.ml
119         if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
120         $(OCAMLC) -c $(@:%.cmo=%.ml)
121
122 %.cmx %.o : $(srcdir)/%.ml
123         if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi
124         $(OCAMLOPT) -c $(@:%.cmx=%.ml)
125
126 include .depend
127