]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtkmathview/Makefile.in
Dynamic loading of C code enabled.
[helm.git] / helm / DEVEL / lablgtkmathview / Makefile.in
1 PACKAGE = @PACKAGE@
2 VERSION = @VERSION@
3 INCLUDEDIR = @OCAML_INCLUDE_DIR@
4 PREFIX = 
5 OBJECTS_C = ml_gtk_mathview.o
6 OBJECTS =  gtk_mathview.cmo gtkMathView.cmo gMathView.cmo
7 OBJECTS_OPT = gtkMathView.cmx gtk_mathview.cmx gMathView.cmx
8 INST = META gMathView.cmi gtkMathView.cmi gtk_mathview.cmi
9 DIST_FILES = \
10   AUTHORS COPYING ChangeLog LICENSE Makefile.in NEWS README \
11   configure.in gMathView.ml gtkMathView.ml gtk_mathview.ml \
12   ml_gtk_mathview.c META.in
13 DOC_FILES = AUTHORS COPYING ChangeLog NEWS README
14 REQUIRES = gdome2 lablgtk
15 PREDICATES =
16 MLFLAGS = -labels
17
18 OCAMLC = ocamlfind ocamlc $(MLFLAGS)
19 OCAMLOPT = ocamlfind ocamlopt $(MLFLAGS)
20 OCAMLDEP = ocamldep
21
22 ARCHIVE = $(PACKAGE).cma
23 ARCHIVE_A = $(PACKAGE).a
24 ARCHIVE_SO = dll$(PACKAGE).so
25 ARCHIVE_OPT = $(PACKAGE).cmxa
26
27 TESTDIR = ./test
28 TMPDIR = .test
29 TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
30
31 all: $(ARCHIVE) $(ARCHIVE_SO) $(TESTDIR)/test
32
33 opt: $(OBJECTS_C) $(ARCHIVE_OPT) $(ARCHIVE_A) $(ARCHIVE_SO) $(TESTDIR)/test.opt
34
35 dist:
36         rm -rf $(PACKAGE)-$(VERSION)
37         mkdir $(PACKAGE)-$(VERSION)
38         cp $(DIST_FILES) $(DOC_FILES) $(PACKAGE)-$(VERSION)
39         tar cvfz $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
40         rm -rf $(PACKAGE)-$(VERSION)
41
42 ml_gtk_mathview.o: ml_gtk_mathview.c
43         gcc -c -I$(INCLUDEDIR) `ocamlfind query -i-format lablgtk` `glib-config --cflags` `gtk-config --cflags` `gtkmathview-config --cflags` `gdome-config --cflags` `ocamlfind query -i-format gdome2` $<
44
45 .SUFFIXES: .cmo .cmi .cmx .ml .mli
46
47 .ml.cmo:
48         $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
49                   -c $<
50 .mli.cmi:
51         $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
52                   -c $<
53 .ml.cmx:
54         $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
55                   -c $<
56
57 depend: *.ml *.mli
58         $(OCAMLDEP) *.ml *.mli >.depend
59 include .depend
60
61 $(ARCHIVE): $(OBJECTS) $(ARCHIVE_SO)
62         $(OCAMLC) -a -package "$(REQUIRES)" \
63         -predicates "$(PREDICATES)" -o $@ $^ \
64         -cclib "`glib-config --libs` `gdome-config --libs` `gtkmathview-config --libs`" -dllib -l$(PACKAGE)
65 $(ARCHIVE_OPT) $(ARCHIVE_A): $(OBJECTS_OPT)
66         $(OCAMLOPT) -a -package "$(REQUIRES)" \
67         -predicates "$(PREDICATES)" -o $@ $^ \
68         -cclib "`glib-config --libs` `gdome-config --libs` `gtkmathview-config --libs`"
69
70 $(ARCHIVE_SO): $(OBJECTS_C)
71         gcc -shared -o $@ $< `gtkmathview-config --libs` -lmlgdome -L `ocamlfind query gdome2`
72
73
74 $(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE) $(TESTDIR)/test.ml
75         mkdir -p $(TMPPKGDIR)
76         cp $(OBJECTS_C) $(ARCHIVE) $(INST) $(TMPPKGDIR)
77         cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
78         rm -r $(TMPDIR)
79
80 $(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(TESTDIR)/test.ml
81         mkdir -p $(TMPPKGDIR)
82         cp $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(INST) $(TMPPKGDIR)
83         cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
84         rm -r $(TMPDIR)
85
86 install:
87         test ! -f $(ARCHIVE_OPT) || extra="$(ARCHIVE_A) $(ARCHIVE_OPT)" ; \
88         ocamlfind install $(PACKAGE) $(OBJECTS_C) $(ARCHIVE) $(ARCHIVE_SO) $(INST) $$extra
89
90 uninstall:
91         ocamlfind remove $(PACKAGE)
92
93 clean:
94         rm -f *.o *.cm? $(ARCHIVE) $(ARCHIVE_A) $(ARCHIVE_SO) $(ARCHIVE_OPT)
95         cd $(TESTDIR) ; make clean
96         rm -rf $(TMPDIR)
97
98 distclean: clean
99         rm -f config.log config.cache config.status Makefile META lablgtkmathview.spec
100         cd $(TESTDIR) ; make distclean