]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/Makefile
Use of standard OCaml syntax
[helm.git] / matita / matita / Makefile
index bb8486dc3e9eca38f514a331f1a491a657621597..c0a7903dcd49a8d353971993f7ea69e43bc18233 100644 (file)
@@ -11,7 +11,8 @@ else
   ANNOTOPTION =
 endif
 
-OCAML_FLAGS = -pp $(CAMLP5O) -rectypes $(ANNOTOPTION) 
+#OCAML_FLAGS = -pp $(CAMLP5O) -rectypes $(ANNOTOPTION) -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-70-31
+OCAML_FLAGS = -rectypes $(ANNOTOPTION) -w @A-52-4-34-37-45-9-44-48-6-32-20-58-7-70-31-29
 OCAMLDEP_FLAGS = -pp $(CAMLP5O) 
 PKGS = -package "$(MATITA_REQUIRES)"
 CPKGS = -package "$(MATITA_CREQUIRES)"
@@ -23,9 +24,9 @@ OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS)
 OCAMLC = $(OCAMLFIND) ocamlc$(OCAML_PROF) $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS)
 OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS) $(OCAMLOPT_DEBUG_FLAGS)
 OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAMLDEP_FLAGS)
-INSTALL_PROGRAMS= matita matitac
+INSTALL_PROGRAMS= matita matitac matitaclean
 INSTALL_PROGRAMS_LINKS_MATITA= 
-INSTALL_PROGRAMS_LINKS_MATITAC= matitaclean
+INSTALL_PROGRAMS_LINKS_MATITAC=
 
 MATITA_FLAGS = -noprofile
 NODB=false
@@ -36,6 +37,7 @@ endif
 MLI = \
        lablGraphviz.mli        \
        matitaTypes.mli         \
+       matitaMiscCli.mli       \
        matitaMisc.mli          \
        applyTransformation.mli \
        matitaEngine.mli        \
@@ -51,17 +53,16 @@ MLI = \
        $(NULL)
 CMLI =                         \
        matitaTypes.mli         \
-       matitaMisc.mli          \
+       matitaMiscCli.mli       \
        applyTransformation.mli \
        matitaEngine.mli        \
        matitaExcPp.mli         \
        matitaInit.mli          \
        $(NULL)
 MAINCMLI =                     \
-       matitaclean.mli         \
        $(NULL)
 # objects for matita (GTK GUI)
-ML = buildTimeConf.ml matitaGeneratedGui.ml $(MLI:%.mli=%.ml)
+ML = buildTimeConf.ml matitaGuiInit.ml matitaGeneratedGui.ml $(MLI:%.mli=%.ml)
 # objects for matitac (batch compiler)
 CML = buildTimeConf.ml $(CMLI:%.mli=%.ml)
 MAINCML = $(MAINCMLI:%.mli=%.ml)
@@ -107,12 +108,15 @@ links:
        done
        $(H)ln -sf matita.opt matita
        $(H)ln -sf matitac.opt matitac
+       $(H)ln -sf matitaclean.opt matitaclean
 
 linkonly:
        $(H)echo "  OCAMLC matita.ml"
        $(H)$(OCAMLC) $(PKGS) -linkpkg -o matita $(CMOS) $(OCAML_DEBUG_FLAGS) matita.ml
        $(H)echo "  OCAMLC matitac.ml"
        $(H)$(OCAMLC) $(CPKGS) -linkpkg -o matitac $(CCMOS) $(MAINCMOS) $(OCAML_DEBUG_FLAGS) matitac.ml
+       $(H)echo "  OCAMLC matitaclean.ml"
+       $(H)$(OCAMLC) $(CPKGS) -linkpkg -o matitaclean $(CCMOS) $(MAINCMOS) $(OCAML_DEBUG_FLAGS) matitaclean.ml
 .PHONY: linkonly
 matita: matita.ml $(LIB_DEPS) $(CMOS)
        $(H)echo "  OCAMLC $<"
@@ -128,6 +132,13 @@ matitac.opt: matitac.ml $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS)
        $(H)echo "  OCAMLOPT $<"
        $(H)$(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml
 
+matitaclean: matitaclean.ml $(CLIB_DEPS) $(CCMOS) $(MAINCMOS)
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(CPKGS) -linkpkg -o $@ $(CCMOS) $(MAINCMOS) matitaclean.ml
+matitaclean.opt: matitaclean.ml $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS)
+       $(H)echo "  OCAMLOPT $<"
+       $(H)$(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitaclean.ml
+
 rottener: rottener.ml $(CLIB_DEPS) $(CCMOS) $(MAINCMOS)
        $(H)echo "  OCAMLC $<"
        $(H)$(OCAMLC) $(CPKGS) -package lablgtk2 -linkpkg -o $@ $(CCMOS) $(MAINCMOS) rottener.ml
@@ -137,16 +148,9 @@ rottener.opt: rottener.ml $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS)
 clean-rottened:
        find . -type f -name "*.ma.*.rottened" -exec rm {} \;
 
-matitaclean: matitac
-       $(H)test -f $@ || ln -s $< $@
-matitaclean.opt: matitac.opt
-       $(H)test -f $@ || ln -s $< $@
-
-matitaGeneratedGui.ml: matita.glade.utf8
+matitaGeneratedGui.ml: matita.ui
        $(H)$(LABLGLADECC) -embed $< > matitaGeneratedGui.ml
 
-matita.glade.utf8: matita.glade
-       $(H)xmllint --encode UTF8 $< > $@
 
 .PHONY: clean
 clean:
@@ -162,7 +166,6 @@ clean:
 .PHONY: distclean
 distclean: clean
        $(H)$(MAKE) -C dist/ clean
-       $(H)rm -f matitaGeneratedGui.ml matitaGeneratedGui.mli
        $(H)rm -f buildTimeConf.ml
        $(H)rm -f matita.glade.bak matita.gladep.bak
        $(H)rm -f matita.conf.xml.sample
@@ -204,22 +207,7 @@ cleantests.opt: $(foreach d,$(TEST_DIRS_OPT),$(d)-cleantests-opt)
 
 # {{{ Distribution stuff
 
-ifeq ($(DISTRIBUTED),yes)
-
-
-dist_library: install_preliminaries 
-       $(H)echo "publish"
-       $(H)cd $(WHERE)/ma/standard-library;(HOME=$(WHERE) USER=builder MATITA_RT_BASE_DIR=$(WHERE) MATITA_FLAGS='$(MATITA_CFLAGS)' $(WHERE)/matitac -system -noinnertypes)
-       $(H)echo "destroy"
-       $(H)cd $(WHERE)/ma/standard-library;(HOME=$(WHERE) USER=builder MATITA_RT_BASE_DIR=$(WHERE) MATITA_FLAGS='$(MATITA_CFLAGS)' $(WHERE)/matitaclean)
-# sqlite3 only
-       $(H)cp $(WHERE)/.matita/matita.db  $(WHERE)/metadata.db || true
-#$(H)rm -rf $(WHERE)/.matita/
-       touch $@
-
-endif
-
-dist_pre: matitaGeneratedGui.ml
+dist_pre:
        $(MAKE) -C dist/ dist_pre
 
 WHERE = $(DESTDIR)/$(RT_BASE_DIR)
@@ -261,9 +249,7 @@ endif
        $(H)for p in $(INSTALL_PROGRAMS_LINKS_MATITA); do \
                ln -fs matita $(WHERE)/$$p;\
        done
-       $(H)cp -a lib $(WHERE)/ma/standard-library
-       $(H)rm -r $(WHERE)/ma/standard-library/lambda
-       $(H)rm -r $(WHERE)/ma/standard-library/lambdaN
+       $(H)cp -a lib $(WHERE)/lib
 
        $(H)touch install_preliminaries.stamp
 
@@ -321,8 +307,17 @@ matitac.opt.static: $(STATIC_LINK) $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitac.ml
                $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml \
                $(STATIC_EXTRA_CLIBS)
        strip $@
-matitaclean.opt.static: matitac.opt.static
-       $(H)test -f $@ || ln -s $< $@
+
+%.upx: %
+       cp $< $@
+       strip $@
+       upx $@
+
+matitaclean.opt.static: $(STATIC_LINK) $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS) matitaclean.ml
+       $(STATIC_LINK) $(STATIC_CLIBS) -- \
+               $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitaclean.ml \
+               $(STATIC_EXTRA_CLIBS)
+       strip $@
 
 %.upx: %
        cp $< $@