include ../Makefile.defs
NULL =
-#H=@
+H=@
ifeq ($(ANNOT),true)
ANNOTOPTION = -dtypes
OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_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)
+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
predefined_virtuals.mli \
matitaMathView.mli \
matitaScript.mli \
- matitaGui.mli \
$(NULL)
CMLI = \
matitaTypes.mli \
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)
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 matitadaemon matitaclean
+ matitac matitadaemon matitaclean
PROGRAMS = $(PROGRAMS_BYTE)
PROGRAMS_OPT = $(patsubst %,%.opt,$(PROGRAMS_BYTE))
NOINST_PROGRAMS =
UTF8DIR := $(shell $(OCAMLFIND) query helm-syntax_extensions)
ULEXDIR := $(shell $(OCAMLFIND) query ulex08)
-matitaScriptLexer.cmo: SYNTAXOPTIONS = -pp "camlp5o -I $(UTF8DIR) -I $(ULEXDIR) pa_extend.cmo pa_ulex.cma pa_unicode_macro.cma -loc loc"
+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)
$(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 $(CCMOS) $(MAINCMOS) $(OCAML_DEBUG_FLAGS) 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 " OCAMLOPT $<"
$(H)$(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) $(MAINCMXS) matitac.ml
-matitadaemon: matitadaemon.ml $(WLIB_DEPS) $(CMOS) $(MAINCMOS)
+matitadaemon: matitadaemon.ml $(WLIB_DEPS) $(WCMOS) $(MAINCMOS)
$(H)echo " OCAMLC $<"
- $(H)$(OCAMLC) $(WPKGS) -linkpkg -o $@ $(CMOS) $(MAINCMOS) matitadaemon.ml
-matitadaemon.opt: matitadaemon.ml $(WLIBX_DEPS) $(CMXS) $(MAINCMXS)
+ $(H)$(OCAMLC) $(WPKGS) -linkpkg -o $@ $(WCMOS) $(MAINCMOS) matitadaemon.ml
+matitadaemon.opt: matitadaemon.ml $(WLIBX_DEPS) $(WCMXS) $(MAINCMXS)
$(H)echo " OCAMLOPT $<"
- $(H)$(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(CMXS) $(MAINCMXS) matitadaemon.ml
+ $(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 $<"
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)))
# }}} End of deps and automatic rules
+
# vim: set foldmethod=marker: