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.mli gMathView.cmi gtkMathView.cmi gtk_mathview.cmi
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
19 OCAMLC = ocamlfind ocamlc $(MLFLAGS)
20 OCAMLOPT = ocamlfind ocamlopt $(MLFLAGS)
23 ARCHIVE = $(PACKAGE).cma
24 ARCHIVE_A = $(PACKAGE).a
25 ARCHIVE_SO = dll$(PACKAGE).so
26 ARCHIVE_OPT = $(PACKAGE).cmxa
30 TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
32 all: $(ARCHIVE) $(ARCHIVE_SO) $(TESTDIR)/test
34 opt: $(OBJECTS_C) $(ARCHIVE_OPT) $(ARCHIVE_A) $(ARCHIVE_SO) #$(TESTDIR)/test.opt
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)
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` $<
46 .SUFFIXES: .cmo .cmi .cmx .ml .mli
49 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
52 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
55 $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" \
59 $(OCAMLDEP) *.ml *.mli >.depend
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)"
72 $(ARCHIVE_SO): $(OBJECTS_C)
73 gcc -shared -o $@ $< `gtkmathview-config --libs` -lmlgdome -L `ocamlfind query gdome2` -Xlinker -rpath -Xlinker `ocamlfind query gdome2`
77 $(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE) $(TESTDIR)/test.ml
79 cp $(OBJECTS_C) $(ARCHIVE_SO) $(ARCHIVE) $(INST) $(TMPPKGDIR)
80 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
83 $(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(TESTDIR)/test.ml
85 cp $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(INST) $(TMPPKGDIR)
86 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
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; \
94 ocamlfind install -destdir $(PREFIX) $(PACKAGE) $(OBJECTS_C) $(ARCHIVE) $(ARCHIVE_SO) $(INST) $$extra; \
98 ocamlfind remove $(PACKAGE)
101 rm -f *.o *.cm? $(ARCHIVE) $(ARCHIVE_A) $(ARCHIVE_SO) $(ARCHIVE_OPT)
102 cd $(TESTDIR) ; make clean
106 rm -f config.log config.cache config.status Makefile META lablgtkmathview.spec
107 cd $(TESTDIR) ; make distclean