]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/Makefile
Added lt_O_S.
[helm.git] / matita / Makefile
index 28971ecf81954556fb5d8e7ca03aeae4036d3ca6..ab03a892f002094e57d0169af7a0dfe932ef08a9 100644 (file)
@@ -14,6 +14,9 @@ OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS)
 OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS)
 OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS)
 OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAML_FLAGS)
+INSTALL_PROGRAMS= matita matitac
+INSTALL_PROGRAMS_LINKS_MATITA= cicbrowser 
+INSTALL_PROGRAMS_LINKS_MATITAC= matitadep matitamake matitaclean matitaprover
 
 MATITA_FLAGS = -noprofile
 NODB=false
@@ -24,6 +27,7 @@ endif
 # objects for matita (GTK GUI)
 CMOS =                         \
        buildTimeConf.cmo       \
+       lablGraphviz.cmo        \
        matitaTypes.cmo         \
        matitaMisc.cmo          \
        matitamakeLib.cmo       \
@@ -31,10 +35,11 @@ CMOS =                              \
        matitaExcPp.cmo         \
        matitaEngine.cmo        \
        matitacLib.cmo          \
+       matitaprover.cmo        \
+       applyTransformation.cmo \
+       matitaGtkMisc.cmo       \
        matitaScript.cmo        \
        matitaGeneratedGui.cmo  \
-       matitaGtkMisc.cmo       \
-       applyTransformation.cmo \
        matitaMathView.cmo      \
        matitaGui.cmo           \
        $(NULL)
@@ -48,6 +53,7 @@ CCMOS =                               \
        matitaExcPp.cmo         \
        matitaEngine.cmo        \
        matitacLib.cmo          \
+       matitaprover.cmo        \
        $(NULL)
 MAINCMOS =                     \
        matitadep.cmo           \
@@ -56,7 +62,7 @@ MAINCMOS =                    \
        gragrep.cmo             \
        $(NULL)
 PROGRAMS_BYTE = \
-       matita matitac cicbrowser matitadep matitaclean matitamake
+       matita matitac cicbrowser matitadep matitaclean matitamake matitaprover
 PROGRAMS = $(PROGRAMS_BYTE) matitatop
 PROGRAMS_OPT = $(patsubst %,%.opt,$(PROGRAMS_BYTE))
 NOINST_PROGRAMS = dump_moo gragrep
@@ -96,11 +102,26 @@ upx: $(PROGRAMS_UPX)
 .PHONY: opt upx
 
 ifeq ($(HAVE_OCAMLOPT),yes)
-world: depend.opt opt
+world: depend.opt opt links
 else
 world: depend all
 endif
 
+#links %.opt -> %
+links:
+       $(H)for X in $(INSTALL_PROGRAMS_LINKS_MATITAC) \
+                       $(INSTALL_PROGRAMS_LINKS_MATITA); do\
+               ln -sf $$X.opt $$X;\
+       done
+       $(H)ln -sf matita.opt matita
+       $(H)ln -sf matitac.opt matitac
+
+linkonly:
+       $(H)echo "  OCAMLC matita.ml"
+       $(H)$(OCAMLC) $(PKGS) -linkpkg -o matita $(CMOS) matita.ml
+       $(H)echo "  OCAMLC matitac.ml"
+       $(H)$(OCAMLC) $(CPKGS) -linkpkg -o matitac $(CCMOS) $(MAINCMOS) matitac.ml
+.PHONY: linkonly
 matita: matita.ml $(LIB_DEPS) $(CMOS)
        $(H)echo "  OCAMLC $<"
        $(H)$(OCAMLC) $(PKGS) -linkpkg -o $@ $(CMOS) matita.ml
@@ -126,6 +147,11 @@ matitatop: matitatop.ml $(CLIB_DEPS) $(CCMOS)
        $(H)echo "  OCAMLC $<"
        $(H)$(OCAMLC) $(CPKGS) -linkpkg -o $@ toplevellib.cma $(CCMOS) $<
 
+matitaprover: matitac
+       $(H)test -f $@ || ln -s $< $@
+matitaprover.opt: matitac.opt
+       $(H)test -f $@ || ln -s $< $@
+
 matitadep: matitac
        $(H)test -f $@ || ln -s $< $@
 matitadep.opt: matitac.opt
@@ -177,6 +203,9 @@ distclean: clean
 TEST_DIRS =                            \
        library                         \
        tests                           \
+       dama                            \
+       contribs/CoRN                   \
+       contribs/RELATIONAL             \
        contribs/LAMBDA-TYPES           \
        contribs/PREDICATIVE-TOPOLOGY   \
        $(NULL)
@@ -212,6 +241,9 @@ dist_library@%:
 
 endif
 
+dist_pre: matitaGeneratedGui.ml matitaGeneratedGui.mli
+       $(MAKE) -C dist/ dist_pre
+
 DESTDIR = $(RT_BASE_DIR)
 INSTALL_STUFF =                        \
        icons/                          \
@@ -228,9 +260,6 @@ INSTALL_STUFF =                     \
        LICENSE                         \
        $(NULL)
 
-INSTALL_PROGRAMS= matita matitac
-INSTALL_PROGRAMS_LINKS_MATITA= cicbrowser 
-INSTALL_PROGRAMS_LINKS_MATITAC= matitadep matitamake matitaclean
 ifeq ($(HAVE_OCAMLOPT),yes)
 INSTALL_STUFF_BIN = $(INSTALL_PROGRAMS:%=%.opt) 
 else
@@ -279,6 +308,14 @@ STATIC_CLIBS = \
        gdome \
        mysqlclient \
        $(NULL)
+STATIC_CLIBS_PROVER = \
+        $(STATIC_CLIBS) \
+       z \
+       pcre \
+       expat \
+       xml2 \
+       glib-2.0 \
+       $(NULL)
 STATIC_EXTRA_CLIBS =
 PROGRAMS_STATIC = $(patsubst %,%.static,$(PROGRAMS_OPT))
 PROGRAMS_UPX = $(patsubst %,%.upx,$(PROGRAMS_STATIC))
@@ -310,6 +347,11 @@ matitac.opt.static: $(STATIC_LINK) $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitac.ml
                $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml \
                $(STATIC_EXTRA_CLIBS)
        strip $@
+matitaprover.opt.static: $(STATIC_LINK) $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitac.ml
+       $(STATIC_LINK) $(STATIC_CLIBS_PROVER) -- \
+               $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml \
+               $(STATIC_EXTRA_CLIBS);
+       strip $@
 matitadep.opt.static: matitac.opt.static
        $(H)test -f $@ || ln -s $< $@
 matitaclean.opt.static: matitac.opt.static
@@ -366,6 +408,11 @@ endif
 $(CMOS): $(LIB_DEPS)
 $(CMOS:%.cmo=%.cmx): $(LIBX_DEPS)
 
+deps.ps: deps.dot
+       dot -Tps -o $@ $<
+deps.dot: .depend
+       ./dep2dot.rb < $< | tred > $@
+
 ifeq ($(MAKECMDGOALS),all)
    $(CMOS:%.cmo=%.cmi): $(LIB_DEPS)
 endif