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