3 INCLUDEDIR = @OCAML_INCLUDE_DIR@
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
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
18 OCAMLC = ocamlfind ocamlc $(MLFLAGS)
19 OCAMLOPT = ocamlfind ocamlopt $(MLFLAGS)
22 ARCHIVE = $(PACKAGE).cma
23 ARCHIVE_A = $(PACKAGE).a
24 ARCHIVE_SO = dll$(PACKAGE).so
25 ARCHIVE_OPT = $(PACKAGE).cmxa
29 TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
31 all: $(ARCHIVE) $(ARCHIVE_SO) $(TESTDIR)/test
33 opt: $(OBJECTS_C) $(ARCHIVE_OPT) $(ARCHIVE_A) $(ARCHIVE_SO) $(TESTDIR)/test.opt
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)
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` $<
45 .SUFFIXES: .cmo .cmi .cmx .ml .mli
48 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
51 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
54 $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
58 $(OCAMLDEP) *.ml *.mli >.depend
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`"
70 $(ARCHIVE_SO): $(OBJECTS_C)
71 gcc -shared -o $@ $< `gtkmathview-config --libs` -lmlgdome -L `ocamlfind query gdome2`
74 $(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE) $(TESTDIR)/test.ml
76 cp $(OBJECTS_C) $(ARCHIVE) $(INST) $(TMPPKGDIR)
77 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
80 $(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(TESTDIR)/test.ml
82 cp $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(INST) $(TMPPKGDIR)
83 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
87 test ! -f $(ARCHIVE_OPT) || extra="$(ARCHIVE_A) $(ARCHIVE_OPT)" ; \
88 ocamlfind install $(PACKAGE) $(OBJECTS_C) $(ARCHIVE) $(ARCHIVE_SO) $(INST) $$extra
91 ocamlfind remove $(PACKAGE)
94 rm -f *.o *.cm? $(ARCHIVE) $(ARCHIVE_A) $(ARCHIVE_SO) $(ARCHIVE_OPT)
95 cd $(TESTDIR) ; make clean
99 rm -f config.log config.cache config.status Makefile META lablgtkmathview.spec
100 cd $(TESTDIR) ; make distclean