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 all: $(ARCHIVE).cma $(TESTDIR)/test
39 opt: $(ARCHIVE).cmxa $(TESTDIR)/test.opt
43 .PHONY: test/test test/test.opt
45 $(MAKE) -C $(TESTDIR) test.opt
47 $(MAKE) -C $(TESTDIR) test
52 cp -a $(DIST_FILES) $(DOC_FILES) $(DIST_DIR)/
53 -find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \;
54 -find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \;
55 tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/
59 if [ -d $(DIST_DIR)/ ]; then rm -rf $(DIST_DIR); else true; fi
60 tar xvzf $(DIST_DIR).tar.gz
61 (cd $(DIST_DIR)/ && debuild)
64 $(GENERATED_FILES): gtkSourceView.props
66 ml_gtk_sourceview.o: ml_gtk_sourceview.c
67 gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKSOURCEVIEW_CFLAGS@ $<
69 .SUFFIXES: .cmo .cmi .cmx .ml .mli
72 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
74 $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
76 $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
78 %Props.ml o%Props.ml: %.props $(PROPCC)
81 depend: *.ml *.mli $(GENERATED_FILES)
82 $(OCAMLDEP) *.ml *.mli >.depend
85 $(ARCHIVE).cma $(DLL): $(OBJECTS) $(OBJECTS_C)
86 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS)
87 $(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
88 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
91 test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
92 if [ "$(PREFIX)" = "" ]; then \
93 $(OCAMLFIND) install \
94 $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
95 ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \
97 $(OCAMLFIND) install -destdir $(PREFIX) \
98 $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
99 ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \
103 if [ "$(PREFIX)" = "" ]; then \
104 ocamlfind remove $(PACKAGE); \
106 ocamlfind remove -destdir $(PREFIX) $(PACKAGE); \
110 rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
111 make -C $(TESTDIR) clean
114 rm -f config.log config.cache config.status Makefile META
115 cd $(TESTDIR) ; make distclean