Commit 57d1a4be authored by Guillaume Melquiond's avatar Guillaume Melquiond

Merge branch 'master' into new_system

Conflicts:
	Version
	doc/manual.tex
	examples/add_list/why3session.xml
	examples/algo63/why3session.xml
	examples/algo64/why3session.xml
	examples/algo65/why3session.xml
	examples/all_distinct/why3session.xml
	examples/arm/why3session.xml
	examples/assigning_meanings_to_programs/why3session.xml
	examples/binary_multiplication.mlw
	examples/binary_multiplication/why3session.xml
	examples/binary_multiplication/why3shapes.gz
	examples/binary_search/why3session.xml
	examples/binary_sqrt/why3session.xml
	examples/bitcount/why3session.xml
	examples/bitvector_examples/why3session.xml
	examples/bitwalker/why3session.xml
	examples/braun_trees/why3session.xml
	examples/bresenham/why3session.xml
	examples/bubble_sort/why3session.xml
	examples/coincidence_count/why3session.xml
	examples/conjugate/why3session.xml
	examples/counting_sort/why3session.xml
	examples/cursor/why3session.xml
	examples/cursor/why3shapes.gz
	examples/defunctionalization/why3session.xml
	examples/dfa_example/why3session.xml
	examples/dfs/why3session.xml
	examples/fibonacci/why3session.xml
	examples/finite_tarski/why3session.xml
	examples/flag2/why3session.xml
	examples/gcd/why3session.xml
	examples/gcd_bezout/why3session.xml
	examples/gcd_bezout/why3shapes.gz
	examples/hackers-delight/why3session.xml
	examples/linked_list_rev/why3session.xml
	examples/mccarthy.mlw
	examples/mccarthy/why3session.xml
	examples/mccarthy/why3shapes.gz
	examples/patience/why3session.xml
	examples/power/why3session.xml
	examples/power/why3shapes.gz
	examples/queens_bv/why3session.xml
	examples/register_allocation/why3session.xml
	examples/schorr_waite/why3session.xml
	examples/schorr_waite/why3shapes.gz
	examples/sudoku/why3session.xml
	examples/verifythis_fm2012_treedel/why3session.xml
	modules/array.mlw
	share/emacs/why3.el
	share/latex/why3lang.sty
	src/core/pretty.ml
	src/core/task.mli
	src/driver/autodetection.ml
	src/printer/alt_ergo.ml
	src/tools/why3prove.ml
	src/transform/eval_match.ml
	src/transform/prepare_for_counterexmp.ml
	src/transform/split_goal.ml
	src/util/strings.mli
	src/why3session/why3session_html.ml
parents 753b4a78 b48938dc

Too many changes to show.

To preserve performance only 295 of 295+ files are displayed.

......@@ -2,9 +2,6 @@
/examples/hoare_logic/draft/ export-ignore
/tests/ export-ignore
/bench/encoding/ export-ignore
/share/images/boomy/ export-ignore
/share/images/boomy.rc export-ignore
/share/javascript/ export-ignore
/misc/ export-ignore
/ROADMAP export-ignore
/DEVELOPER.readme export-ignore
......@@ -12,5 +9,4 @@
.gitignore export-ignore
.gitattributes export-ignore
/check.sh export-ignore
/.merlin.in export-ignore
/TODO export-ignore
......@@ -29,6 +29,7 @@ why3.conf
/autom4te.cache
/Makefile
/configure
/install-sh
/semantic.cache
/TAGS
/output_why3
......@@ -121,8 +122,10 @@ why3.conf
/doc/stdlibdoc/
# /lib
/lib/why3-cpulimit
/lib/why3-cpulimit.exe
/lib/why3cpulimit
/lib/why3cpulimit.exe
/lib/why3server
/lib/why3server.exe
# /lib/why3/
/lib/why3/META
......@@ -278,14 +281,19 @@ pvsbin/
/modules/mach/int/
# Try Why3
/src/trywhy3/trywhy3.js
/src/trywhy3/trywhy3.byte
/src/trywhy3/trywhy3.js
/src/trywhy3/alt_ergo_worker.byte
/src/trywhy3/alt_ergo_worker.js
/src/trywhy3/why3_worker.byte
/src/trywhy3/why3_worker.js
/src/trywhy3/index.en.html
/src/trywhy3/index.fr.html
/src/trywhy3/index.html
/src/trywhy3/ace-builds
/src/trywhy3/ace-builds/
/src/trywhy3/*.png
/src/trywhy3/alt-ergo-1.00-private-2015-01-29
/src/trywhy3/fontawesome/
# jessie3
/src/jessie/config.log
......@@ -296,3 +304,4 @@ pvsbin/
/src/jessie/tests/demo/result/*.log
/trash
trywhy3.tar.gz
* marks an incompatible change
Tools
o why3 config now generates default proof strategies using the
installed provers. These are available under name "Auto level 1"
and "Auto level 2" in why3 ide.
Version 0.87.1, May 27, 2016
============================
bug fixes
o assorted bug fixes
Version 0.87.0, March 15, 2016
==============================
Language
* Add new logical connectives "by" and "so" as keywords
......@@ -8,6 +24,7 @@ Tools
o add a command-line option --extra-expl-prefix to specify
additional possible prefixes for VC explanations. (Available for
why3 commands "prove" and "ide".)
* removed "jstree" style from the "session" command
Transformations
* All split transformations respect the "stop_split" label now.
......@@ -45,7 +62,7 @@ Provers
o support for Zenon_modulo 0.4.1 (released Jul 2, 2015)
Distribution
* non-free files are distributed in an extra tar file: "boomy" icon set,
* non-free files have been removed: "boomy" icon set,
javascript helpers for "why3 session html --style jstree"
Version 0.86.3, February 8, 2016
......@@ -77,7 +94,7 @@ provers
bug fixes
o why3doc: garbled output
version 0.86, May 11, 2015
Version 0.86, May 11, 2015
==========================
core
......@@ -119,7 +136,7 @@ bug fixes
o IDE: proofs in progress should never be "cleaned"
o IDE: display warnings after reload
version 0.85, September 17, 2014
Version 0.85, September 17, 2014
================================
langage
......@@ -149,7 +166,7 @@ transformations
provers
o fixed wrong warning when detecting Isabelle2014
version 0.84, September 1, 2014
Version 0.84, September 1, 2014
===============================
tools
......@@ -191,7 +208,7 @@ transformations
o new transformation "compute_in_goal" that simplifies the goal, by
computation, as much as possible
version 0.83, March 14, 2014
Version 0.83, March 14, 2014
============================
syntax
......@@ -231,7 +248,7 @@ API
miscellaneous
o fixed compilation bug with lablgtk 2.18
version 0.82, December 12, 2013
Version 0.82, December 12, 2013
===============================
o lemma functions
......@@ -271,7 +288,7 @@ version 0.82, December 12, 2013
o [fix] syntax highlighting bugs: should be fixed by removing the old language
file alt-ergo.lang from alt-ergo distribution
version 0.81, March 25, 2013
Version 0.81, March 25, 2013
============================
o [prover] experimental support for SPASS >= 3.8 (with types)
......@@ -294,8 +311,9 @@ version 0.81, March 25, 2013
is not accepted anymore.
version 0.80, Oct 31, 2012
==========================
Version 0.80, October 31, 2012
==============================
* [whyml] modified syntax for mlw programs; a summary of changes is
given in Appendix A of the manual
o [whyml] support for type invariants and ghost code
......@@ -319,8 +337,9 @@ version 0.80, Oct 31, 2012
* [config] modifiers in --extra-config are now called [prover_modifier]
instead of just [prover]
version 0.73, Jul 19, 2012
==========================
Version 0.73, July 19, 2012
===========================
o [IDE] "Clean" was cleaning too much
* no more executable why3ml (why3 now handles WhyML files)
o [Provers] support for Z3 4.0
......@@ -338,8 +357,9 @@ version 0.73, Jul 19, 2012
o new option -e for "why3session latex" allows to specify when to
split tables in parts
version 0.72, May 11, 2012
Version 0.72, May 11, 2012
==========================
o [Coq] new tactic "why3" to call external provers as oracles
o [Coq output] new feature: theory realizations (see manual, chapter 9)
o new tool why3session (see manual, section 6.7)
......@@ -364,7 +384,7 @@ version 0.72, May 11, 2012
a single abstract function/predicate symbol and Dlogic for
a list of (mutually recursive) defined symbols.
version 0.71, October 13, 2011
Version 0.71, October 13, 2011
==============================
o [examples] a lot of new program examples in directory examples/programs
......@@ -379,7 +399,7 @@ version 0.71, October 13, 2011
marked obsolete if it was made by a prover with another version
than the current.
version 0.70, July 6, 2011
Version 0.70, July 6, 2011
==========================
New features
......@@ -421,8 +441,8 @@ version 0.70, July 6, 2011
So old code performing "prove_task t () ()" should be translated to
"wait_on_call (prove_task t ()) ()".
version 0.64, Feb 16, 2011
==========================
Version 0.64, February 16, 2011
===============================
o configure: if possible, use ocamlfind to find lablgtk2 and sqlite3
o algebraic types: must be well-founded, non-positive constructors
......@@ -452,12 +472,7 @@ version 0.64, Feb 16, 2011
repositories)
o better Gappa output: support for sqrt, for negative constants
version 0.63, Dec 21, 2010
==========================
Version 0.63, December 21, 2010
===============================
o first public release. See release notes in manual
# Emacs parameters
Local Variables:
mode: text
End:
......@@ -23,9 +23,10 @@ Installation from the git repository
First run
autoconf
automake --add-missing
to build the file ./configure, then follow instructions from the
section above.
to build the ./configure file and install the helper scripts, then follow
instructions from the section above.
Detailed instructions
......
......@@ -12,9 +12,11 @@
VERBOSEMAKE ?= @enable_verbose_make@
ifeq ($(VERBOSEMAKE),yes)
QUIET =
SHOW = @true
HIDE =
else
QUIET = yes
SHOW = @echo
HIDE = @
endif
# install the binaries
......@@ -35,6 +37,9 @@ EXE = @EXE@
# other variables
CC = @CC@
MKDIR_P = @MKDIR_P@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
OCAMLC = @OCAMLC@
OCAMLOPT = @OCAMLOPT@
OCAMLDEP = @OCAMLDEP@
......@@ -59,7 +64,8 @@ endif
DEPFLAGS = -slash -I lib/why3
ifeq (@OCAMLBEST@,opt)
DEPFLAGS += -native
# the semantics of the -native flag changed in ocaml 4.03.0
#DEPFLAGS += -native
endif
RUBBER = @RUBBER@
......@@ -104,6 +110,9 @@ OFLAGS += -bin-annot
BFLAGS += -bin-annot
endif
# see http://caml.inria.fr/mantis/view.php?id=4991
CMIHACK = -intf-suffix .cmi
# external libraries common to all binaries
EXTOBJS = @MENHIRLIB@
......@@ -117,6 +126,8 @@ COMPILED_LIB_EXTS = $(INSTALLED_LIB_EXTS) o cmo cmt cmti annot dep conflicts
TARGET_EMACS = share/emacs/why3.elc
TOTARGET = > "$@" || (RV=$$?; rm -f "$@"; exit $${RV})
###############
# main target
###############
......@@ -160,7 +171,7 @@ LIB_UTIL = config bigInt util opt lists strings \
LIB_CORE = ident ty term pattern decl theory \
task pretty dterm env trans printer model_parser
LIB_DRIVER = call_provers driver_ast driver_parser driver_lexer driver \
LIB_DRIVER = prove_client call_provers driver_ast driver_parser driver_lexer driver \
whyconf autodetection \
parse_smtv2_model_parser parse_smtv2_model_lexer parse_smtv2_model
......@@ -242,25 +253,20 @@ byte: lib/why3/why3.cma
opt: lib/why3/why3.cmxa
lib/why3/why3.cma: lib/why3/why3.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) -a $(BFLAGS) -o $@ $^
lib/why3/why3.cmxa: lib/why3/why3.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) -a $(OFLAGS) -o $@ $^
lib/why3/why3.cmo: $(LIBCMO)
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -pack -o $@ $^
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLC) $(BFLAGS) -pack -o $@ $^
lib/why3/why3.cmx: $(LIBCMX)
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -pack -o $@ $^
lib/why3/why3.cmx: $(LIBCMX) lib/why3/why3.cmo
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLOPT) $(OFLAGS) $(CMIHACK) -pack -o $@ $(filter %.cmx, $^)
# clean and depend
ifneq "$(MAKECMDGOALS:clean%=clean)" "clean"
include $(LIBDEP)
-include $(LIBDEP)
endif
depend: $(LIBDEP)
......@@ -284,39 +290,38 @@ install_no_local:: clean_old_install
else
install_no_local:: clean_old_install $(TARGET_EMACS)
endif
mkdir -p $(BINDIR)
mkdir -p $(LIBDIR)/why3
mkdir -p $(TOOLDIR)
mkdir -p $(DATADIR)/why3
mkdir -p $(DATADIR)/why3/images
mkdir -p $(DATADIR)/why3/vim
mkdir -p $(DATADIR)/why3/lang
mkdir -p $(DATADIR)/why3/theories
mkdir -p $(DATADIR)/why3/modules/mach
mkdir -p $(DATADIR)/why3/drivers
mkdir -p $(DATADIR)/emacs/site-lisp/
cp -f theories/*.why $(DATADIR)/why3/theories
cp -f modules/*.mlw $(DATADIR)/why3/modules
cp -f modules/mach/*.mlw $(DATADIR)/why3/modules/mach
cp -f drivers/*.drv drivers/*.gen $(DATADIR)/why3/drivers
cp -f LICENSE $(DATADIR)/why3/
cp -f share/provers-detection-data.conf $(DATADIR)/why3/
$(MKDIR_P) $(BINDIR)
$(MKDIR_P) $(LIBDIR)/why3
$(MKDIR_P) $(TOOLDIR)
$(MKDIR_P) $(DATADIR)/why3
$(MKDIR_P) $(DATADIR)/why3/images
$(MKDIR_P) $(DATADIR)/why3/vim
$(MKDIR_P) $(DATADIR)/why3/lang
$(MKDIR_P) $(DATADIR)/why3/theories
$(MKDIR_P) $(DATADIR)/why3/modules/mach
$(MKDIR_P) $(DATADIR)/why3/drivers
$(MKDIR_P) $(DATADIR)/emacs/site-lisp/
$(INSTALL_DATA) theories/*.why $(DATADIR)/why3/theories
$(INSTALL_DATA) modules/*.mlw $(DATADIR)/why3/modules
$(INSTALL_DATA) modules/mach/*.mlw $(DATADIR)/why3/modules/mach
$(INSTALL_DATA) drivers/*.drv drivers/*.gen $(DATADIR)/why3/drivers
$(INSTALL_DATA) LICENSE $(DATADIR)/why3/
$(INSTALL_DATA) share/provers-detection-data.conf $(DATADIR)/why3/
for i in share/images/*.rc; do \
d=`basename $$i .rc`; \
cp -f $$i $(DATADIR)/why3/images; \
mkdir $(DATADIR)/why3/images/$$d; \
cp -f share/images/$$d/* $(DATADIR)/why3/images/$$d; \
$(INSTALL_DATA) $$i $(DATADIR)/why3/images; \
$(MKDIR_P) $(DATADIR)/why3/images/$$d; \
$(INSTALL_DATA) share/images/$$d/* $(DATADIR)/why3/images/$$d; \
done
cp -f share/images/*.png $(DATADIR)/why3/images
cp -f share/why3session.dtd $(DATADIR)/why3
cp -f share/Makefile.config $(DATADIR)/why3
cp -rf share/javascript $(DATADIR)/why3/javascript
cp -f share/vim/why3.vim $(DATADIR)/why3/vim/why3.vim
cp -f share/lang/why3.lang $(DATADIR)/why3/lang/why3.lang
$(INSTALL_DATA) share/images/*.png $(DATADIR)/why3/images
$(INSTALL_DATA) share/why3session.dtd $(DATADIR)/why3
$(INSTALL_DATA) share/Makefile.config $(DATADIR)/why3
$(INSTALL_DATA) share/vim/why3.vim $(DATADIR)/why3/vim/why3.vim
$(INSTALL_DATA) share/lang/why3.lang $(DATADIR)/why3/lang/why3.lang
install_no_local_lib::
mkdir -p $(OCAMLINSTALLLIB)/why3
cp -f $(wildcard $(addprefix lib/why3/why3., $(INSTALLED_LIB_EXTS))) \
$(MKDIR_P) $(OCAMLINSTALLLIB)/why3
$(INSTALL_DATA) $(wildcard $(addprefix lib/why3/why3., $(INSTALLED_LIB_EXTS))) \
lib/why3/META $(OCAMLINSTALLLIB)/why3
ifeq (@enable_local@,yes)
......@@ -350,9 +355,9 @@ ifneq ($(EMACS),no)
endif
install_no_local::
cp -f share/emacs/why3.el $(DATADIR)/emacs/site-lisp/why3.el
$(INSTALL_DATA) share/emacs/why3.el $(DATADIR)/emacs/site-lisp/why3.el
ifneq ($(EMACS),no)
cp -f share/emacs/why3.elc $(DATADIR)/emacs/site-lisp/why3.elc
$(INSTALL_DATA) share/emacs/why3.elc $(DATADIR)/emacs/site-lisp/why3.elc
endif
......@@ -410,41 +415,41 @@ plugins.byte: $(LIBPLUGCMO)
plugins.opt : $(LIBPLUGCMXS)
lib/plugins/%.cmxs: plugins/parser/%.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
lib/plugins/%.cmo: plugins/parser/%.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -pack -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLC) $(BFLAGS) -pack -o $@ $<
lib/plugins/%.cmxs: plugins/printer/%.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
lib/plugins/%.cmo: plugins/printer/%.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -pack -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLC) $(BFLAGS) -pack -o $@ $<
lib/plugins/%.cmxs: plugins/transform/%.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLOPT) $(OFLAGS) -shared -o $@ $<
lib/plugins/%.cmo: plugins/transform/%.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -pack -o $@ $<
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLC) $(BFLAGS) -pack -o $@ $<
lib/plugins/tptp.cmxs: $(TPTPCMX)
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -shared -o $@ $^
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLOPT) $(OFLAGS) -shared -o $@ $^
lib/plugins/tptp.cmo: $(TPTPCMO)
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -pack -o $@ $^
$(SHOW) 'Linking $@'
$(HIDE)$(OCAMLC) $(BFLAGS) -pack -o $@ $^
# depend and clean targets
ifneq "$(MAKECMDGOALS:clean%=clean)" "clean"
include $(PLUGDEP)
-include $(PLUGDEP)
endif
depend: $(PLUGDEP)
......@@ -453,8 +458,8 @@ CLEANDIRS += plugins $(addprefix plugins/, $(PLUGDIRS)) lib/plugins
GENERATED += $(PLUGGENERATED)
install_no_local::
mkdir -p $(LIBDIR)/why3/plugins
cp -f $(wildcard $(LIBPLUGCMO) $(LIBPLUGCMXS)) $(LIBDIR)/why3/plugins
$(MKDIR_P) $(LIBDIR)/why3/plugins
$(INSTALL_DATA) $(wildcard $(LIBPLUGCMO) $(LIBPLUGCMXS)) $(LIBDIR)/why3/plugins
###############
# Why3 commands
......@@ -485,82 +490,35 @@ byte: bin/why3.byte $(TOOLS_BIN:%=bin/%.byte)
opt: bin/why3.opt $(TOOLS_BIN:%=bin/%.opt)
bin/why3.opt: lib/why3/why3.cmxa src/tools/main.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3.byte: lib/why3/why3.cma src/tools/main.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3config.opt: lib/why3/why3.cmxa src/tools/why3config.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3config.byte: lib/why3/why3.cma src/tools/why3config.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3execute.opt: lib/why3/why3.cmxa src/tools/why3execute.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3execute.byte: lib/why3/why3.cma src/tools/why3execute.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3extract.opt: lib/why3/why3.cmxa src/tools/why3extract.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3extract.byte: lib/why3/why3.cma src/tools/why3extract.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3prove.opt: lib/why3/why3.cmxa src/tools/why3prove.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3prove.byte: lib/why3/why3.cma src/tools/why3prove.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3realize.opt: lib/why3/why3.cmxa src/tools/why3realize.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3realize.byte: lib/why3/why3.cma src/tools/why3realize.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3replay.opt: lib/why3/why3.cmxa src/tools/why3replay.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3replay.byte: lib/why3/why3.cma src/tools/why3replay.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
bin/why3wc.opt: src/tools/why3wc.cmx
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLOPT) $(OFLAGS) -o $@ $(OLINKFLAGS) $^
bin/why3wc.byte: src/tools/why3wc.cmo
$(if $(QUIET),@echo 'Linking $@' &&) \
$(OCAMLC) $(BFLAGS) -o $@ $(BLINKFLAGS) $^
clean_old_install::
rm -f $(TOOLS_BIN:%=$(TOOLDIR)/%$(EXE)) $(BINDIR)/why3$(EXE)
rm -f $(BINDIR)/why3bench$(EXE) $(BINDIR)/why3replayer$(EXE)
install_no_local::
cp -f bin/why3.@OCAMLBEST@ $(BINDIR)/why3$(EXE)
cp -f bin/why3config.@OCAMLBEST@ $(TOOLDIR)/why3config$(EXE)
cp -f bin/why3execute.@OCAMLBEST@ $(TOOLDIR)/why3execute$(EXE)
cp -f bin/why3extract.@OCAMLBEST@ $(TOOLDIR)/why3extract$(EXE)
cp -f bin/why3prove.@OCAMLBEST@ $(TOOLDIR)/why3prove$(EXE)
cp -f bin/why3realize.@OCAMLBEST@ $(TOOLDIR)/why3realize$(EXE)
cp -f bin/why3replay.@OCAMLBEST@ $(TOOLDIR)/why3replay$(EXE)
cp -f bin/why3wc.@OCAMLBEST@ $(TOOLDIR)/why3wc$(EXE)
$(INSTALL) bin/why3.@OCAMLBEST@ $(BINDIR)/why3$(EXE)
$(INSTALL) bin/why3config.@OCAMLBEST@ $(TOOLDIR)/why3config$(EXE)
$(INSTALL) bin/why3execute.@OCAMLBEST@ $(TOOLDIR)/why3execute$(EXE)
$(INSTALL) bin/why3extract.@OCAMLBEST@ $(TOOLDIR)/why3extract$(EXE)
$(INSTALL) bin/why3prove.@OCAMLBEST@ $(TOOLDIR)/why3prove$(EXE)
$(INSTALL) bin/why3realize.@OCAMLBEST@ $(TOOLDIR)/why3realize$(EXE)
$(INSTALL) bin/why3replay.@OCAMLBEST@ $(TOOLDIR)/why3replay$(EXE)
$(INSTALL) bin/why3wc.@OCAMLBEST@ $(TOOLDIR)/why3wc$(EXE)
install_local:: bin/why3 $(addprefix bin/,$(TOOLS_BIN))
......@@ -579,7 +537,7 @@ share/theories:
ln -snf ../theories share/theories
ifneq "$(MAKECMDGOALS:clean%=clean)" "clean"
include $(TOOLSDEP)
-include $(TOOLSDEP)
endif
depend: $(TOOLSDEP)
......@@ -609,6 +567,44 @@ clean::
%.type: %.mlw bin/why3ide.opt
bin/why3.opt --type-only $*.mlw
##############
# Why3server #
##############