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 INSTPATH=`ocamlfind query gdome2` ; \
68 $(OCAMLOPT) -a -package "$(REQUIRES)" \
69 -predicates "$(PREDICATES)" -o $@ $^ \
70 -cclib "`glib-config --libs` `gdome-config --libs` `gtkmathview-config --libs`" \
71 -cclib "`echo $$INSTPATH | sed "s/\\(.*\\)\\/gdome2/\\1/"`/$(PACKAGE)/$(ARCHIVE_SO)"
73 $(ARCHIVE_SO): $(OBJECTS_C)
74 gcc -shared -o $@ $< `gtkmathview-config --libs` -lmlgdome -L `ocamlfind query gdome2` -Xlinker -rpath -Xlinker `ocamlfind query gdome2`
78 $(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE) $(TESTDIR)/test.ml
80 cp $(OBJECTS_C) $(ARCHIVE_SO) $(ARCHIVE) $(INST) $(TMPPKGDIR)
81 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
84 $(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(TESTDIR)/test.ml
86 cp $(OBJECTS_C) $(ARCHIVE_A) $(ARCHIVE_OPT) $(INST) $(TMPPKGDIR)
87 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
91 test ! -f $(ARCHIVE_OPT) || extra="$(ARCHIVE_A) $(ARCHIVE_OPT)" ; \
92 if [ "$(PREFIX)" = "" ]; then \
93 ocamlfind install $(PACKAGE) $(OBJECTS_C) $(ARCHIVE) $(ARCHIVE_SO) $(INST) $$extra; \
95 ocamlfind install -destdir $(PREFIX) $(PACKAGE) $(OBJECTS_C) $(ARCHIVE) $(ARCHIVE_SO) $(INST) $$extra; \
99 ocamlfind remove $(PACKAGE)
102 rm -f *.o *.cm? $(ARCHIVE) $(ARCHIVE_A) $(ARCHIVE_SO) $(ARCHIVE_OPT)
103 cd $(TESTDIR) ; make clean
107 rm -f config.log config.cache config.status Makefile META lablgtkmathview.spec
108 cd $(TESTDIR) ; make distclean