]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtksourceview/Makefile.in
ocaml 3.09 transition
[helm.git] / helm / DEVEL / lablgtksourceview / Makefile.in
index 0082f6e39dedc56d81dda3392ac00ee0c4e5a2bb..19dc0d19d71c18b2c0286d4070622a5713f091b5 100644 (file)
@@ -2,109 +2,135 @@ PACKAGE = @PACKAGE@
 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 lib$(ARCHIVE).a $(C_OBJECTS) $(DLL)
+OPT_INST = $(BYTE_INST) $(ARCHIVE).cmxa $(ARCHIVE).a
 
-all: $(ARCHIVE).cma $(TESTDIR)/test
-opt: $(ARCHIVE).cmxa $(TESTDIR)/test.opt
-
+ifeq ($(NATIVE),yes)
 world: all opt
+else
+world: all
+endif
+
+all: $(ARCHIVE).cma lib$(ARCHIVE).a $(DLL) $(TESTDIR)/test
+opt: $(ARCHIVE).cmxa $(ARCHIVE).a $(TESTDIR)/test.opt
 
-.PHONY: test/test test/test.opt
 test/test.opt:
        $(MAKE) -C $(TESTDIR) test.opt
 test/test:
        $(MAKE) -C $(TESTDIR) test
 
-dist:
+dist: distclean
        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@ $<
+       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)
-       $(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).cma: $(ML_OBJECTS)
+       $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS)
+$(ARCHIVE).cmxa: $(ML_OBJECTS_OPT)
+       $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(SHARED_LIBS)
+lib$(ARCHIVE).a $(DLL): $(C_OBJECTS)
+       $(OCAMLMKLIB) -o $(ARCHIVE) $^ $(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: world installmkdir
+endif
+
+ifeq ($(NATIVE),yes)
+install: installworld
+else
+install: installbyte
+endif
+
+installbyte:
+       $(INSTALLER) $(PACKAGE) $(BYTE_INST) $(EXTRA_INST)
+installworld:
+       $(INSTALLER) $(PACKAGE) $(OPT_INST) $(EXTRA_INST)
+
+installmkdir:
+       mkdir -p $(DESTDIR)
 
 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)
@@ -112,4 +138,8 @@ clean:
 
 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
+