https://github.com/project-everest/hacl-star
Raw File
Tip revision: 0030539598cde15d1a0e5f93b32e121f7b7b5a1c authored by Benjamin Beurdouche on 16 August 2017, 05:24:18 UTC
Merge pull request #29 - Multiple improvements
Tip revision: 0030539
Makefile
#
# Main HACL* Makefile
#

.PHONY: verify verify_all test nss dependencies clean

all: nss

verify: dependencies
	@echo $(CYAN)"# Verifying the HaCl* code (specialized for NSS)"$(NORMAL)
	$(MAKE) -C specs Spec.Curve25519.fst-verify
	$(MAKE) verify -C code/curve25519

build: verify
	@echo $(CYAN)"# Generating the HaCl* code (specialized for NSS)"$(NORMAL)
	$(MAKE) nss-snapshot -C test
	@touch build
	@echo $(CYAN)"\nDone ! Generated code can be found in 'snapshots/nss'."$(NORMAL)

test: build
	$(MAKE) -C snapshots/nss unit-tests unit-tests-32

nss: test
	@echo $(CYAN)"# Generating production code from the NSS snapshot"$(NORMAL)
	$(MAKE) nss-production -C test
	@echo $(CYAN)"\nDone ! Generated code can be found in 'snapshots/nss-production'."$(NORMAL)

verify_all: dependencies
	@echo $(CYAN)"# Verifying all the HaCl* code"$(NORMAL)
	$(MAKE) verify -C specs
	$(MAKE) verify -C code

dependencies:
	@echo $(CYAN)"# Get and build F* and KreMLin"$(NORMAL)
	opam switch 4.04.2
	eval `opam config env`
	git submodule update --init
	opam config exec -- make -C dependencies/FStar/src/ocaml-output
	opam config exec -- make -C dependencies/FStar/ulib/ml
	opam config exec -- make -C dependencies/kremlin

clean:
	@echo $(CYAN)"# Clean HaCl*"$(NORMAL)
	rm -rf *~ build snapshots
	$(MAKE) -C specs clean
	$(MAKE) -C code clean
	$(MAKE) -C dependencies/FStar/src/ocaml-output clean
	$(MAKE) -C dependencies/FStar/ulib/ml clean
	$(MAKE) -C dependencies/kremlin clean

NORMAL="\\033[0;39m"
CYAN="\\033[1;36m"
back to top