]> matita.cs.unibo.it Git - helm.git/blobdiff - matitaB/matita/Makefile
update in basic_2
[helm.git] / matitaB / matita / Makefile
index 0271b714a5566704a599af382be964fb34532b89..461eb0fb2378b8c1aebe111de205109b89f4de2b 100644 (file)
@@ -15,17 +15,21 @@ OCAML_FLAGS = -pp $(CAMLP5O) -rectypes $(ANNOTOPTION)
 OCAMLDEP_FLAGS = -pp $(CAMLP5O) 
 PKGS = -package "$(MATITA_REQUIRES)"
 CPKGS = -package "$(MATITA_CREQUIRES)"
+WPKGS = -package "$(MATITA_WREQUIRES)"
 OCAML_THREADS_FLAGS = -thread
 OCAML_DEBUG_FLAGS = -g
 #OCAML_PROF=p -p a
 #OCAMLOPT_DEBUG_FLAGS = -p
 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)
+OCAMLC = $(OCAMLFIND) ocamlc$(OCAML_PROF) $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS) $(SYNTAXOPTIONS)
+OCAMLTOP = $(OCAMLFIND) ocamlmktop$(OCAML_PROF) $(OCAMLC_FLAGS) $(OCAML_DEBUG_FLAGS) $(SYNTAXOPTIONS)
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS) $(OCAMLOPT_DEBUG_FLAGS) $(SYNTAXOPTIONS)
 OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAMLDEP_FLAGS)
 INSTALL_PROGRAMS= matita matitac
 INSTALL_PROGRAMS_LINKS_MATITA= 
 INSTALL_PROGRAMS_LINKS_MATITAC= matitaclean
+MY_SYNTAXOPTIONS = -pp "camlp5o -I $(UTF8DIR) -I $(ULEXDIR) pa_extend.cmo pa_ulex.cma pa_unicode_macro.cma -loc loc"
+
 
 MATITA_FLAGS = -noprofile
 NODB=false
@@ -34,6 +38,7 @@ ifeq ($(NODB),true)
 endif
 
 MLI = \
+        matitaScriptLexer.mli   \
        lablGraphviz.mli        \
        matitaTypes.mli         \
        matitaMisc.mli          \
@@ -47,7 +52,6 @@ MLI = \
        predefined_virtuals.mli \
        matitaMathView.mli      \
        matitaScript.mli        \
-       matitaGui.mli           \
        $(NULL)
 CMLI =                         \
        matitaTypes.mli         \
@@ -57,6 +61,16 @@ CMLI =                               \
        matitaExcPp.mli         \
        matitaInit.mli          \
        $(NULL)
+WMLI =                         \
+       matitaTypes.mli         \
+       matitaMisc.mli          \
+       applyTransformation.mli \
+       matitaEngine.mli        \
+       matitaExcPp.mli         \
+       matitaInit.mli          \
+       matitaFilesystem.mli    \
+       matitaAuthentication.mli \
+       $(NULL)
 MAINCMLI =                     \
        matitaclean.mli         \
        $(NULL)
@@ -64,10 +78,58 @@ MAINCMLI =                  \
 ML = buildTimeConf.ml matitaGeneratedGui.ml $(MLI:%.mli=%.ml)
 # objects for matitac (batch compiler)
 CML = buildTimeConf.ml $(CMLI:%.mli=%.ml)
+WML = buildTimeConf.ml $(WMLI:%.mli=%.ml)
 MAINCML = $(MAINCMLI:%.mli=%.ml)
 
+ALL_NORMAL_ML =                                \
+                applyTransformation.ml  \
+                matitaclean.ml          \
+                matitaFilesystem.ml     \
+                matitaMathView.ml       \
+                matitaTypes.ml          \
+                buildTimeConf.ml        \
+                matitac.ml              \
+                matitaGeneratedGui.ml   \
+                matitaMisc.ml           \
+                predefined_virtuals.ml  \
+                cicMathView.ml          \
+                matitadaemon.ml         \
+                matitaGtkMisc.ml        \
+                virtuals.ml             \
+                lablGraphviz.ml         \
+                matitaEngine.ml         \
+                matitaGui.ml            \
+                matitaAuthentication.ml \
+                matitaExcPp.ml          \
+                matitaInit.ml           \
+                matitaScript.ml
+
+ALL_NORMAL_MLI =                               \
+                applyTransformation.mli  \
+                matitaclean.mli          \
+                matitaFilesystem.mli     \
+                matitaMathView.mli       \
+                matitaTypes.mli          \
+                matitaMisc.mli           \
+                predefined_virtuals.mli  \
+                cicMathView.mli          \
+                matitaGtkMisc.mli        \
+                virtuals.mli             \
+                lablGraphviz.mli         \
+                matitaEngine.mli         \
+                matitaGui.mli            \
+                matitaGuiTypes.mli       \
+                matitaScriptLexer.mli    \
+                matitaAuthentication.mli \
+                matitaExcPp.mli          \
+                matitaInit.mli           \
+                matitaScript.mli
+
+ALL_SYNTAX_ML = matitaScriptLexer.ml
+ALL_SYNTAX_MLI = matitaScriptLexer.mli
+
 PROGRAMS_BYTE = \
-       matita matitac matitaclean
+       matitac matitadaemon matitaclean
 PROGRAMS = $(PROGRAMS_BYTE) 
 PROGRAMS_OPT = $(patsubst %,%.opt,$(PROGRAMS_BYTE))
 NOINST_PROGRAMS =
@@ -76,11 +138,36 @@ NOINST_PROGRAMS_OPT = $(patsubst %,%.opt,$(EXTRA_PROGRAMS))
 .PHONY: all
 all: $(PROGRAMS) $(NOINST_PROGRAMS)
 
+UTF8DIR := $(shell $(OCAMLFIND) query helm-syntax_extensions)
+ULEXDIR := $(shell $(OCAMLFIND) query ulex08)
+
+matitaScriptLexer.cmo: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS)
+matitaScriptLexer.cmx: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) 
+
+matitaFilesystem.cmi: matitaFilesystem.mli
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -c $<
+matitaFilesystem.cmo: matitaFilesystem.ml
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -c $<
+
+matitaAuthentication.cmi: matitaAuthentication.mli
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -c $<
+matitaAuthentication.cmo: matitaAuthentication.ml
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -c $<
+matitaAuthentication.cmx: matitaAuthentication.ml
+       $(H)echo "  OCAMLOPT $<"
+       $(H)$(OCAMLOPT) $(WPKGS) -c $<
+
 CMOS = $(ML:%.ml=%.cmo)
 CCMOS = $(CML:%.ml=%.cmo)
+WCMOS = $(WML:%.ml=%.cmo)
 MAINCMOS = $(MAINCML:%.ml=%.cmo)
 CMXS = $(patsubst %.cmo,%.cmx,$(CMOS))
 CCMXS = $(patsubst %.cmo,%.cmx,$(CCMOS))
+WCMXS = $(patsubst %.cmo,%.cmx,$(WCMOS))
 MAINCMXS = $(patsubst %.cmo,%.cmx,$(MAINCMOS))
 $(CMOS) : $(LIB_DEPS)
 $(CMXOS): $(LIBX_DEPS)
@@ -89,6 +176,8 @@ LIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d
 LIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MATITA_REQUIRES))
 CLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MATITA_CREQUIRES))
 CLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MATITA_CREQUIRES))
+WLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MATITA_WREQUIRES))
+WLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MATITA_WREQUIRES))
 opt: $(PROGRAMS_OPT) $(NOINST_PROGRAMS_OPT)
 upx: $(PROGRAMS_UPX)
 .PHONY: opt upx
@@ -109,10 +198,11 @@ links:
        $(H)ln -sf matitac.opt matitac
 
 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 matitadaemon.ml"
+       $(H)$(OCAMLC) $(WPKGS) -linkpkg -o matitadaemon $(WCMOS) $(MAINCMOS) $(OCAML_DEBUG_FLAGS) matitadaemon.ml
+
 .PHONY: linkonly
 matita: matita.ml $(LIB_DEPS) $(CMOS)
        $(H)echo "  OCAMLC $<"
@@ -128,6 +218,17 @@ matitac.opt: matitac.ml $(CLIBX_DEPS) $(CCMXS) $(MAINCMXS)
        $(H)echo "  OCAMLOPT $<"
        $(H)$(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml
 
+matitadaemon: matitadaemon.ml $(WLIB_DEPS) $(WCMOS) $(MAINCMOS)
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -linkpkg -o $@ $(WCMOS) $(MAINCMOS) matitadaemon.ml
+matitadaemon.opt: matitadaemon.ml $(WLIBX_DEPS) $(WCMXS) $(MAINCMXS)
+       $(H)echo "  OCAMLOPT $<"
+       $(H)$(OCAMLOPT) $(WPKGS) -linkpkg -o $@ $(WCMXS) $(MAINCMXS) matitadaemon.ml
+
+webdb_convert: webdb_convert.ml $(WLIB_DEPS) $(WCMOS) $(MAINCMOS)
+       $(H)echo "  OCAMLC $<"
+       $(H)$(OCAMLC) $(WPKGS) -linkpkg -o $@ $(WCMOS) $(MAINCMOS) webdb_convert.ml
+
 rottener: rottener.ml $(CLIB_DEPS) $(CCMOS) $(MAINCMOS)
        $(H)echo "  OCAMLC $<"
        $(H)$(OCAMLC) $(CPKGS) -package lablgtk2 -linkpkg -o $@ $(CCMOS) $(MAINCMOS) rottener.ml
@@ -342,10 +443,12 @@ TAGS:
 
 depend: 
        $(H)echo "  OCAMLDEP"
-       $(H)$(OCAMLDEP) *.ml *.mli > .depend
+       $(H)$(OCAMLDEP) $(ALL_NORMAL_ML) $(ALL_NORMAL_MLI) > .depend
+       $(H)$(OCAMLDEP) $(MY_SYNTAXOPTIONS) $(ALL_SYNTAX_ML) $(ALL_SYNTAX_MLI) >> .depend
 depend.opt: 
        $(H)echo "  OCAMLDEP -native"
-       $(H)$(OCAMLDEP) -native *.ml *.mli > .depend.opt
+       $(H)$(OCAMLDEP) -native $(ALL_NORMAL_ML) $(ALL_NORMAL_MLI) > .depend.opt
+       $(H)$(OCAMLDEP) $(MY_SYNTAXOPTIONS) -native $(ALL_SYNTAX_ML) $(ALL_SYNTAX_MLI) >> .depend.opt
 
 # this should be sligtly better, since should work with 'make all opt'
 MAKECMDGOALS_DELIM=$(addprefix _x_,$(addsuffix _x_,$(MAKECMDGOALS)))
@@ -403,4 +506,5 @@ deps.dot: .depend
 
 # }}} End of deps and automatic rules
 
+
 # vim: set foldmethod=marker: