https://github.com/EasyCrypt/easycrypt
Revision 15f07518a16d758df59b59fc0cb532cf1d265fcf authored by Pierre-Yves Strub on 01 December 2023, 15:12:27 UTC, committed by Pierre-Yves Strub on 01 December 2023, 16:15:50 UTC
Syntax is name@version. The selected prover is the prover with name
`name` and with the lowest version that is greater (or equal) than
`version`.

For example, if Z3 4.8.0, Z3 4.8.2 & Z3 4.12.2 are installed, Z3@4.8
selects Z3 4.8.2.
1 parent 27edb8a
Raw File
Tip revision: 15f07518a16d758df59b59fc0cb532cf1d265fcf authored by Pierre-Yves Strub on 01 December 2023, 15:12:27 UTC
Allows selecting a prover by its version number.
Tip revision: 15f0751
Makefile
# -*- Makefile -*-

# --------------------------------------------------------------------
DUNE      ?= dune
ECARGS    ?=
ECTOUT    ?= 10
ECJOBS    ?= 0
ECEXTRA   ?= --report=report.log
ECPROVERS ?= Alt-Ergo@2.4 Z3@4.8 CVC4@1.8
CHECKPY   ?=
CHECK     := $(CHECKPY) scripts/testing/runtest
CHECK     += --bin=./ec.native --bin-args="$(ECARGS)"
CHECK     += --bin-args="$(ECPROVERS:%=-p %)"
CHECK     += --timeout="$(ECTOUT)" --jobs="$(ECJOBS)"
CHECK     += $(ECEXTRA) config/tests.config

# --------------------------------------------------------------------
UNAME_P = $(shell uname -p)
UNAME_S = $(shell uname -s)

# --------------------------------------------------------------------
.PHONY: default build byte native tests check examples
.PHONY: clean install uninstall

default: build
	@true

build:
	rm -f src/ec.exe ec.native
	dune build -p easycrypt
	ln -sf src/ec.exe ec.native
ifeq ($(UNAME_P)-$(UNAME_S),arm-Darwin)
	-codesign -f -s - src/ec.exe
endif

install: build
	$(DUNE) install

uninstall:
	$(DUNE) uninstall

check: stdlib examples

stdlib: build
	$(CHECK) prelude stdlib

examples: build
	$(CHECK) examples mee-cbc

check: stdlib examples
	@true

clean:
	rm -f ec.native && $(DUNE) clean
	find theories examples -name '*.eco' -exec rm '{}' ';'

clean_eco:
	find theories examples -name '*.eco' -exec rm '{}' ';'
back to top