VERSION = @VERSION@
INCLUDEDIR = @OCAML_INCLUDE_DIR@
PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc
-PREFIX =
-OBJECTS_C = ml_gtk_sourceview.o
-OBJECTS = gtkSourceViewProps.cmo ogtkSourceViewProps.cmo gtk_sourceview.cmo gtkSourceView.cmo gSourceView.cmo
-OBJECTS_OPT = gtkSourceViewProps.cmx ogtkSourceViewProps.cmx gtkSourceView.cmx gtk_sourceview.cmx gSourceView.cmx
-GENERATED_FILES = gtkSourceViewProps.ml ogtkSourceViewProps.ml
+DESTDIR =
NULL =
-INST = \
- META gSourceView.mli gSourceView.cmi gtkSourceView.cmi gtk_sourceview.cmi \
- gtkSourceViewProps.cmi ogtkSourceViewProps.cmi \
+C_OBJECTS = ml_gtk_sourceview.o
+ML_OBJECTS = \
+ gtkSourceViewProps.cmo \
+ ogtkSourceViewProps.cmo \
+ gtk_sourceview.cmo \
+ gtkSourceView.cmo \
+ gSourceView.cmo \
+ $(NULL)
+ML_OBJECTS_OPT = $(patsubst %.cmo,%.cmx,$(ML_OBJECTS))
+GENERATED_FILES = gtkSourceViewProps.ml ogtkSourceViewProps.ml
+EXTRA_INST = \
+ META \
+ gSourceView.mli \
+ gSourceView.cmi \
+ gtkSourceView.cmi \
+ gtk_sourceview.cmi \
+ $(NULL)
+DIST_FILES = \
+ Makefile.in \
+ configure \
+ gSourceView.ml \
+ gSourceView.mli \
+ gtkSourceView.ml \
+ gtk_sourceview.ml \
+ ml_gtk_sourceview.c \
+ META.in \
+ .depend \
+ debian/ \
+ test/ \
+ gtkSourceView.props \
$(NULL)
-DIST_FILES = \
- Makefile.in configure.in gSourceView.ml gSourceView.mli \
- gtkSourceView.ml \
- gtk_sourceview.ml ml_gtk_sourceview.c META.in .depend debian/ test/ \
- configure gtkSourceView.props
DIST_DIR = $(PACKAGE)-$(VERSION)
-DOC_FILES = AUTHORS COPYING ChangeLog NEWS README LICENSE
+EXTRA_DIST = ACKNOWLEDGEMENTS AUTHORS CHANGES COPYING LICENSE NEWS README
REQUIRES = lablgtk2
-PREDICATES =
SHARED_LIBS = @GTKSOURCEVIEW_LIBS@
-
OCAMLFIND = ocamlfind
-OCAMLC = $(OCAMLFIND) ocamlc
-OCAMLOPT = $(OCAMLFIND) ocamlopt
+OCAMLC = $(OCAMLFIND) ocamlc -package "$(REQUIRES)"
+OCAMLOPT = $(OCAMLFIND) ocamlopt -package "$(REQUIRES)"
OCAMLDEP = ocamldep
OCAMLMKLIB = ocamlmklib
OCAML_STUB_DIR = @OCAML_STUB_DIR@
-
ARCHIVE = $(PACKAGE)
DLL = dll$(ARCHIVE).so
-
+NATIVE = @HAVE_OCAMLOPT@
TESTDIR = test
+BYTE_INST = $(ARCHIVE).cma $(C_OBJECTS) $(DLL)
+OPT_INST = $(BYTE_INST) $(ARCHIVE).a $(ARCHIVE).cmxa
+
+ifeq ($(NATIVE),yes)
+world: all opt
+else
+world: all
+endif
all: $(ARCHIVE).cma $(TESTDIR)/test
opt: $(ARCHIVE).cmxa $(TESTDIR)/test.opt
-world: all opt
-
-.PHONY: test/test test/test.opt
test/test.opt:
$(MAKE) -C $(TESTDIR) test.opt
test/test:
dist:
rm -rf $(DIST_DIR)/
- mkdir $(DIST_DIR)/
- cp -a $(DIST_FILES) $(DOC_FILES) $(DIST_DIR)/
+ mkdir -p $(DIST_DIR)/
+ cp -a $(DIST_FILES) $(EXTRA_DIST) $(DIST_DIR)/
-find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \;
-find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \;
tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/
rm -rf $(DIST_DIR)/
deb: dist
- if [ -d $(DIST_DIR)/ ]; then rm -rf $(DIST_DIR); else true; fi
+ rm -rf $(DIST_DIR)
tar xvzf $(DIST_DIR).tar.gz
(cd $(DIST_DIR)/ && debuild)
rm -rf $(DIST_DIR)
-$(GENERATED_FILES): gtkSourceView.props
-
ml_gtk_sourceview.o: ml_gtk_sourceview.c
gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKSOURCEVIEW_CFLAGS@ $<
-.SUFFIXES: .cmo .cmi .cmx .ml .mli
+%.cmo: %.ml
+ $(OCAMLC) -c $<
+%.cmi: %.mli
+ $(OCAMLC) -c $<
+%.cmx: %.ml
+ $(OCAMLOPT) -c $<
-.ml.cmo:
- $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-.mli.cmi:
- $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-.ml.cmx:
- $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $<
-
-%Props.ml o%Props.ml: %.props $(PROPCC)
+$(GENERATED_FILES): gtkSourceView.props
+%Props.ml o%Props.ml: %.props
$(PROPCC) $<
depend: *.ml *.mli $(GENERATED_FILES)
$(OCAMLDEP) *.ml *.mli >.depend
include .depend
-$(ARCHIVE).cma $(DLL): $(OBJECTS) $(OBJECTS_C)
+$(ARCHIVE).cma $(DLL): $(ML_OBJECTS) $(C_OBJECTS)
$(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS)
-$(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
-
-install:
- test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
- if [ "$(PREFIX)" = "" ]; then \
- $(OCAMLFIND) install \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \
- else \
- $(OCAMLFIND) install -destdir $(PREFIX) \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \
- fi
+$(ARCHIVE).cmxa $(ARCHIVE).a: $(ML_OBJECTS_OPT)
+ $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(C_OBJECTS) $(SHARED_LIBS)
+
+ifeq ($(DESTDIR),"")
+INSTALLER = $(OCAMLFIND) install -ldconf /dev/null
+UNINSTALLER = $(OCAMLFIND) remove -ldconf /dev/null
+else
+INSTALLER = $(OCAMLFIND) install -destdir $(DESTDIR) -ldconf /dev/null
+UNINSTALLER = $(OCAMLFIND) remove -destdir $(DESTDIR) -ldconf /dev/null
+install: installmkdir
+installmkdir:
+ mkdir -p $(DESTDIR)
+endif
+
+ifeq ($(NATIVE),yes)
+install: installworld
+else
+install: installbyte
+endif
+
+installbyte:
+ $(INSTALLER) $(PACKAGE) $(BYTE_INST) $(EXTRA_INST)
+installworld:
+ $(INSTALLER) $(PACKAGE) $(OPT_INST) $(EXTRA_INST)
uninstall:
- if [ "$(PREFIX)" = "" ]; then \
- ocamlfind remove $(PACKAGE); \
- else \
- ocamlfind remove -destdir $(PREFIX) $(PACKAGE); \
- fi
+ $(UNINSTALLER) $(PACKAGE)
clean:
rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES)
distclean: clean
rm -f config.log config.cache config.status Makefile META
- cd $(TESTDIR) ; make distclean
+ make -C $(TESTDIR) distclean
+
+.PHONY: world uninstall clean distclean test/test test/test.opt
+.PHONY: install installmkdir installbyte installworld
+
Build-Depends: debhelper (>= 4.1.0), cdbs, ocaml-findlib, ocaml-nox-3.08.3, liblablgtk2-ocaml-dev (>= 2.4.0+2005.02.18-3+zack), libgtksourceview-dev (>= 1.2.0)
Standards-Version: 3.6.1.1
-Package: liblablgtksourceview-ocaml
+Package: liblablgtksourceview-ocaml-dev
Architecture: any
-Section: libs
-Depends: ocaml-base-nox-3.08, liblablgtk2-ocaml (>= 2.4.0+2005.02.18-3+zack), ${shlibs:Depends}, ${misc:Depends}
+Section: libdevel
+Depends: ocaml-nox-3.08.3, ocaml-findlib, liblablgtksourceview-ocaml (= ${Source-Version}), liblablgtk2-ocaml-dev (>= 2.4.0+2005.02.18-3+zack), libgtksourceview-dev (>= 1.2.0), ${misc:Depends}
Description: OCaml bindings for libgtksourceview, a source editor GTK widget
This is the OCaml binding for the GtkSourceView widget, a text widget that
extends the standard gtk+ 2.x text widget with syntax highlighting and other
features typical of a source editor.
.
- This package contains the shared runtime stub libraries.
+ This package contains the development part of the lablgtksourceview package.
-Package: liblablgtksourceview-ocaml-dev
+Package: liblablgtksourceview-ocaml
Architecture: any
-Section: libdevel
-Depends: ocaml-nox-3.08.3, ocaml-findlib, liblablgtksourceview-ocaml (= ${Source-Version}), liblablgtk2-ocaml-dev (>= 2.4.0+2005.02.18-3+zack), libgtksourceview-dev (>= 1.2.0), ${misc:Depends}
+Section: libs
+Depends: ocaml-base-nox-3.08.3, liblablgtk2-ocaml (>= 2.4.0+2005.02.18-3+zack), ${shlibs:Depends}, ${misc:Depends}
Description: OCaml bindings for libgtksourceview, a source editor GTK widget
This is the OCaml binding for the GtkSourceView widget, a text widget that
extends the standard gtk+ 2.x text widget with syntax highlighting and other
features typical of a source editor.
.
- This package contains the development part of the lablgtksourceview package.
+ This package contains the shared runtime stub libraries.