X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FMakefile.in;h=da10c563abe1042ec09f14833b6ea941cfbd619d;hb=ecd0ab19b82f611974bd76f3c740c842f566009d;hp=0751f845b2d708d41d628d2bb7bb204387998116;hpb=87b5d89e41a0be4d921e148d2c3c3dd71b54c224;p=helm.git diff --git a/helm/matita/Makefile.in b/helm/matita/Makefile.in index 0751f845b..da10c563a 100644 --- a/helm/matita/Makefile.in +++ b/helm/matita/Makefile.in @@ -1,15 +1,19 @@ - +MAKEFLAGS+=--no-print-directory OCAMLPATH = ../ocaml/METAS/ OCAMLFIND = OCAMLPATH=$(OCAMLPATH):$$OCAMLPATH @OCAMLFIND@ CAMLP4O = @CAMLP4O@ LABLGLADECC = @LABLGLADECC@ REQUIRES = @FINDLIB_REQUIRES@ CREQUIRES = @FINDLIB_CREQUIRES@ +DEPREQUIRES = @FINDLIB_DEPREQUIRES@ +CLEANREQUIRES = @FINDLIB_CLEANREQUIRES@ HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ OCAML_FLAGS = -pp $(CAMLP4O) PKGS = -package "$(REQUIRES)" CPKGS = -package "$(CREQUIRES)" +DEPPKGS = -package "$(DEPREQUIRES)" +CLEANPKGS = -package "$(CLEANREQUIRES)" OCAML_THREADS_FLAGS = -thread OCAML_DEBUG_FLAGS = -g OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS) @@ -21,39 +25,75 @@ CMOS = \ buildTimeConf.cmo \ matitaLog.cmo \ matitaTypes.cmo \ + matitaExcPp.cmo \ matitaMisc.cmo \ matitaDb.cmo \ matitaSync.cmo \ + matitacleanLib.cmo \ matitaDisambiguator.cmo \ matitaEngine.cmo \ + matitacLib.cmo \ + matitamakeLib.cmo \ matitaScript.cmo \ matitaGeneratedGui.cmo \ matitaGtkMisc.cmo \ matitaGui.cmo \ - matitaMathView.cmo + matitaMathView.cmo # objects for matitac (batch compiler) CCMOS = \ buildTimeConf.cmo \ matitaLog.cmo \ matitaTypes.cmo \ + matitaExcPp.cmo \ matitaMisc.cmo \ matitaDb.cmo \ matitaSync.cmo \ matitaDisambiguator.cmo \ - matitaEngine.cmo - - -all: matita matitac cicbrowser - -updater: $(LIB_DEPS) - $(OCAMLC) $(PKGS) -linkpkg -o $@ updater.ml + matitaEngine.cmo \ + matitacleanLib.cmo \ + matitacLib.cmo +CLEANCMOS = $(CCMOS) +MAKECMOS = $(CCMOS) matitamakeLib.cmo + + +all: matita.conf.xml matita matitac matitatop cicbrowser matitadep matitaclean matitamake + +matita.conf.xml: matita.conf.xml.sample + @if diff matita.conf.xml.sample matita.conf.xml 1>/dev/null 2>/dev/null; then\ + touch matita.conf.xml;\ + else\ + echo;\ + echo "matita.conf.xml.sample is newer than matita.conf.xml";\ + echo;\ + echo "PLEASE update your configuration file!";\ + echo "(copying matita.conf.xml.sample should work)";\ + echo;\ + false;\ + fi + +matita.conf.xml.sample: matita.conf.xml.sample.in + autoconf + ./configure + @echo + @echo "WARNING: The configuration sample file has changed!" + @echo ifeq ($(HAVE_OCAMLOPT),yes) CMXS = $(patsubst %.cmo,%.cmx,$(CMOS)) CCMXS = $(patsubst %.cmo,%.cmx,$(CCMOS)) +CLEANCMXS = $(patsubst %.cmo,%.cmx,$(CLEANCMOS)) +MAKECMXS = $(patsubst %.cmo,%.cmx,$(MAKECMOS)) LIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(REQUIRES)) LIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(REQUIRES)) -opt: matita.opt matitac.opt cicbrowser.opt +CLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(CREQUIRES)) +CLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(CREQUIRES)) +DEPLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(DEPREQUIRES)) +DEPLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(DEPREQUIRES)) +CLEANLIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(CLEANREQUIRES)) +CLEANLIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(CLEANREQUIRES)) +MAKELIB_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(MAKEREQUIRES)) +MAKELIBX_DEPS := $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(MAKEREQUIRES)) +opt: matita.opt matitac.opt cicbrowser.opt matitadep.opt matitaclean.opt matitamake.opt else opt: @echo "Native code compilation is disabled" @@ -64,11 +104,29 @@ matita: $(LIB_DEPS) $(CMOS) matita.ml matita.opt: $(LIBX_DEPS) $(CMXS) matita.ml $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(CMXS) matita.ml -matitac: $(LIB_DEPS) $(CCMOS) matitac.ml +matitac: $(CLIB_DEPS) $(CCMOS) matitac.ml $(OCAMLC) $(CPKGS) -linkpkg -o $@ $(CCMOS) matitac.ml -matitac.opt: $(LIBX_DEPS) $(CCMXS) matitac.ml +matitac.opt: $(CLIBX_DEPS) $(CCMXS) matitac.ml $(OCAMLOPT) $(CPKGS) -linkpkg -o $@ $(CCMXS) matitac.ml +matitatop: matitatop.ml $(CLIB_DEPS) $(CCMOS) + $(OCAMLC) $(CPKGS) -linkpkg -o $@ toplevellib.cma $(CCMOS) $< + +matitadep: matitadep.ml $(DEPLIB_DEPS) $(CCMOS) + $(OCAMLC) $(DEPPKGS) -linkpkg -o $@ $(CCMOS) $< +matitadep.opt: matitadep.ml $(DEPLIB_DEPS) $(CCMXS) + $(OCAMLOPT) $(DEPPKGS) -linkpkg -o $@ $(CCMXS) $< + +matitaclean: matitaclean.ml $(CLEANLIB_DEPS) $(CLEANCMOS) + $(OCAMLC) $(CLEANPKGS) -linkpkg -o $@ $(CLEANCMOS) $< +matitaclean.opt: matitaclean.ml $(CLEANLIB_DEPS) $(CLEANCMXS) + $(OCAMLOPT) $(CLEANPKGS) -linkpkg -o $@ $(CLEANCMXS) $< + +matitamake: matitamake.ml $(MAKECMOS) + $(OCAMLC) $(PKGS) -linkpkg -o $@ $(MAKECMOS) $< +matitamake.opt: matitamake.ml $(MAKECMXS) + $(OCAMLOPT) $(PKGS) -linkpkg -o $@ $(MAKECMXS) $< + cicbrowser: matita @test -f $@ || ln -s $< $@ cicbrowser.opt: matita.opt @@ -90,17 +148,23 @@ matitaGeneratedGui.ml matitaGeneratedGui.mli: matita.glade clean: rm -rf *.cma *.cmo *.cmi *.cmx *.cmxa *.a *.o \ matita matita.opt matitac matitac.opt \ - cicbrowser cicbrowser.opt + cicbrowser cicbrowser.opt \ + matitadep matitadep.opt \ + matitaclean matitaclean.opt \ + matitatop matitatop.opt distclean: clean rm -f matitaGeneratedGui.ml matitaGeneratedGui.mli rm -f config.log config.status Makefile buildTimeConf.ml rm -f matita.glade.bak matita.gladep.bak rm -rf autom4te.cache/ - -tests: matita - @scripts/do_tests.sh ./matitac /dev/null tests/*.ma -tests.opt: matitac.opt - @scripts/do_tests.sh ./matitac.opt /dev/null tests/*.ma + rm -f configure matita.conf.xml.sample + +tests: matitac matitadep matitaclean + @(cd library && make clean all) + @(cd tests && make clean all) +tests.opt: matitac.opt matitadep.opt matitaclean.opt + @(cd library && make clean.opt opt) + @(cd tests && make clean.opt opt) .PHONY: tests tests.opt tags: TAGS