3 INCLUDEDIR = @OCAML_INCLUDE_DIR@
4 PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc
6 OBJECTS_C = ml_gtk_sourceview.o
7 OBJECTS = gtkSourceViewProps.cmo ogtkSourceViewProps.cmo gtk_sourceview.cmo gtkSourceView.cmo gSourceView.cmo
8 OBJECTS_OPT = gtkSourceViewProps.cmx ogtkSourceViewProps.cmx gtkSourceView.cmx gtk_sourceview.cmx gSourceView.cmx
9 GENERATED_FILES = gtkSourceViewProps.ml ogtkSourceViewProps.ml
12 META gSourceView.mli gSourceView.cmi gtkSourceView.cmi gtk_sourceview.cmi \
13 gtkSourceViewProps.cmi ogtkSourceViewProps.cmi \
16 Makefile.in configure.in gSourceView.ml gSourceView.mli \
18 gtk_sourceview.ml ml_gtk_sourceview.c META.in .depend debian/ test/ \
19 configure gtkSourceView.props
20 DIST_DIR = $(PACKAGE)-$(VERSION)
21 DOC_FILES = AUTHORS COPYING ChangeLog NEWS README LICENSE
24 SHARED_LIBS = @GTKSOURCEVIEW_LIBS@
27 OCAMLC = $(OCAMLFIND) ocamlc
28 OCAMLOPT = $(OCAMLFIND) ocamlopt
30 OCAMLMKLIB = ocamlmklib
31 OCAML_STUB_DIR = @OCAML_STUB_DIR@
34 DLL = dll$(ARCHIVE).so
38 TMPPKGDIR = $(TMPDIR)/$(PACKAGE)
43 test.opt: $(TESTDIR)/test.opt
49 cp -a $(DIST_FILES) $(DOC_FILES) $(DIST_DIR)/
50 -find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \;
51 -find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \;
52 tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/
56 if [ -d $(DIST_DIR)/ ]; then rm -rf $(DIST_DIR); else true; fi
57 tar xvzf $(DIST_DIR).tar.gz
58 (cd $(DIST_DIR)/ && debuild)
61 $(GENERATED_FILES): gtkSourceView.props
63 ml_gtk_sourceview.o: ml_gtk_sourceview.c
64 gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKSOURCEVIEW_CFLAGS@ $<
66 .SUFFIXES: .cmo .cmi .cmx .ml .mli
69 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
71 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
73 $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
75 %Props.ml o%Props.ml: %.props $(PROPCC)
78 depend: *.ml *.mli $(GENERATED_FILES)
79 $(OCAMLDEP) *.ml *.mli >.depend
82 $(ARCHIVE).cma $(DLL): $(OBJECTS) $(OBJECTS_C)
83 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS)
84 $(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
85 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
87 $(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE).cma $(TESTDIR)/test.ml
89 cp $(OBJECTS_C) $(DLL) $(ARCHIVE).cma $(INST) $(TMPPKGDIR)
90 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make
93 $(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(TESTDIR)/test.ml
95 cp $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(INST) $(TMPPKGDIR)
96 cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt
100 test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
101 if [ "$(PREFIX)" = "" ]; then \
102 $(OCAMLFIND) install \
103 $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
104 ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \
106 $(OCAMLFIND) install -destdir $(PREFIX) \
107 $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
108 ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \
112 if [ "$(PREFIX)" = "" ]; then \
113 ocamlfind remove $(PACKAGE); \
115 ocamlfind remove -destdir $(PREFIX) $(PACKAGE); \
119 rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
120 cd $(TESTDIR) ; make clean
124 rm -f config.log config.cache config.status Makefile META
125 cd $(TESTDIR) ; make distclean