Raw File
Makefile
KREMLIN_HOME ?= ../../kremlin
HACL_HOME    ?= ..
BUILD_DIR = $(HACL_HOME)/build/c


.PHONY: extract-%
extract-%:
	mkdir -p $(BUILD_DIR)
	GENERATED_DIR=$(BUILD_DIR) make -C $* stage1
	rm -f $(BUILD_DIR)/Makefile.*

extract: extract-poly1305 extract-chacha20 extract-curve25519 extract-blake2s extract-sha3
	$(MAKE) extract-chacha20poly1305

snapshot: extract-poly1305 extract-chacha20 extract-curve25519 extract-blake2s extract-sha3
	$(MAKE) extract-chacha20poly1305
	cp $(HACL_HOME)/lib/c/vec-intrin.h $(BUILD_DIR)
	cp $(KREMLIN_HOME)/kremlib/dist/generic/libkremlib.a $(BUILD_DIR)
	cp $(KREMLIN_HOME)/kremlib/dist/generic/TestLib.h $(BUILD_DIR)
	cp $(KREMLIN_HOME)/kremlib/dist/generic/FStar_UInt_8_16_32_64.h $(BUILD_DIR)
	cp $(KREMLIN_HOME)/include/kremlib.h $(BUILD_DIR)
	cp -r $(KREMLIN_HOME)/include/kremlin $(BUILD_DIR)/kremlin
	cp curve25519/vale_25519.h $(BUILD_DIR)
	cp curve25519/rfc7748_25519.h $(BUILD_DIR)

	mkdir -p $(BUILD_DIR)/test
	cp poly1305/poly1305_test.c $(BUILD_DIR)/test
	cp chacha20/chacha20*-test.c $(BUILD_DIR)/test
	mkdir -p $(BUILD_DIR)/test/hacl-c
	cp $(HACL_HOME)/snapshots/hacl-c/Hacl_Chacha20_Vec128.[ch] $(BUILD_DIR)/test/hacl-c
	cp $(HACL_HOME)/snapshots/hacl-c/Hacl_Chacha20.[ch] $(BUILD_DIR)/test/hacl-c
	cp $(HACL_HOME)/snapshots/hacl-c/vec128.h $(BUILD_DIR)/test/hacl-c
	cp curve25519/curve51-test.c $(BUILD_DIR)/test
	cp curve25519/curve64-test.c $(BUILD_DIR)/test
	cp curve25519/curve64-rfc-test.c $(BUILD_DIR)/test
	cp curve25519/vale/obj/curve25519-x86_64-darwin.S $(BUILD_DIR)/test
	cp -r curve25519/rfc7748_src $(BUILD_DIR)/test
	cp Makefile.snapshot $(BUILD_DIR)/Makefile

tezos-snapshot: snapshot
	make -C snapshot

test-snapshot: snapshot
	make -C $(BUILD_DIR) test-snapshot

test-tezos-snapshot: tezos-snapshot
	make -C $(BUILD_DIR) test-tezos-snapshot

clean:
	rm -rf $(BUILD_DIR)
back to top