3 INCLUDEDIR = @OCAML_INCLUDE_DIR@
4 PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc
7 C_OBJECTS = ml_gtk_sourceview.o
9 gtkSourceViewProps.cmo \
10 ogtkSourceViewProps.cmo \
15 ML_OBJECTS_OPT = $(patsubst %.cmo,%.cmx,$(ML_OBJECTS))
16 GENERATED_FILES = gtkSourceViewProps.ml ogtkSourceViewProps.ml
38 DIST_DIR = $(PACKAGE)-$(VERSION)
39 EXTRA_DIST = ACKNOWLEDGEMENTS AUTHORS CHANGES COPYING LICENSE NEWS README
41 SHARED_LIBS = @GTKSOURCEVIEW_LIBS@
43 OCAMLC = $(OCAMLFIND) ocamlc -package "$(REQUIRES)"
44 OCAMLOPT = $(OCAMLFIND) ocamlopt -package "$(REQUIRES)"
46 OCAMLMKLIB = ocamlmklib
47 OCAML_STUB_DIR = @OCAML_STUB_DIR@
49 DLL = dll$(ARCHIVE).so
50 NATIVE = @HAVE_OCAMLOPT@
52 BYTE_INST = $(ARCHIVE).cma $(C_OBJECTS) $(DLL)
53 OPT_INST = $(BYTE_INST) $(ARCHIVE).a $(ARCHIVE).cmxa
61 all: $(ARCHIVE).cma $(TESTDIR)/test
62 opt: $(ARCHIVE).cmxa $(TESTDIR)/test.opt
65 $(MAKE) -C $(TESTDIR) test.opt
67 $(MAKE) -C $(TESTDIR) test
72 cp -a $(DIST_FILES) $(EXTRA_DIST) $(DIST_DIR)/
73 -find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \;
74 -find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \;
75 tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/
80 tar xvzf $(DIST_DIR).tar.gz
81 (cd $(DIST_DIR)/ && debuild)
84 ml_gtk_sourceview.o: ml_gtk_sourceview.c
85 gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKSOURCEVIEW_CFLAGS@ $<
94 $(GENERATED_FILES): gtkSourceView.props
95 %Props.ml o%Props.ml: %.props
98 depend: *.ml *.mli $(GENERATED_FILES)
99 $(OCAMLDEP) *.ml *.mli >.depend
102 $(ARCHIVE).cma $(DLL): $(ML_OBJECTS) $(C_OBJECTS)
103 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS)
104 $(ARCHIVE).cmxa $(ARCHIVE).a: $(ML_OBJECTS_OPT)
105 $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(C_OBJECTS) $(SHARED_LIBS)
108 INSTALLER = $(OCAMLFIND) install -ldconf /dev/null
109 UNINSTALLER = $(OCAMLFIND) remove -ldconf /dev/null
111 INSTALLER = $(OCAMLFIND) install -destdir $(DESTDIR) -ldconf /dev/null
112 UNINSTALLER = $(OCAMLFIND) remove -destdir $(DESTDIR) -ldconf /dev/null
113 install: installmkdir
119 install: installworld
125 $(INSTALLER) $(PACKAGE) $(BYTE_INST) $(EXTRA_INST)
127 $(INSTALLER) $(PACKAGE) $(OPT_INST) $(EXTRA_INST)
130 $(UNINSTALLER) $(PACKAGE)
133 rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
134 make -C $(TESTDIR) clean
137 rm -f config.log config.cache config.status Makefile META
138 make -C $(TESTDIR) distclean
140 .PHONY: world uninstall clean distclean test/test test/test.opt
141 .PHONY: install installmkdir installbyte installworld