aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2019-01-08 04:21:38 -0500
committerGravatar Andres Erbsen <andreser@mit.edu>2019-01-09 22:49:02 -0500
commit3ca227f1137e6a3b65bc33f5689e1c230d591595 (patch)
treee1e5a2dd2a2f34f239d3276227ddbdc69eeeb667 /Makefile
parent3ec21c64b3682465ca8e159a187689b207c71de4 (diff)
remove old pipeline
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile439
1 files changed, 33 insertions, 406 deletions
diff --git a/Makefile b/Makefile
index 56cbed38a..b62ce04b8 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,8 @@ TIMER_FULL=$(if $(TIMED), $(STDTIME_FULL), $(TIMECMD_FULL))
GHC?=ghc
GHCFLAGS?= # -XStrict
+CFLAGS?=
+
PROFILE?=
VERBOSE?=
SHOW := $(if $(VERBOSE),@true "",@echo "")
@@ -21,145 +23,61 @@ INSTALLDEFAULTROOT := Crypto
.PHONY: coq clean update-_CoqProject cleanall install \
install-coqprime clean-coqprime coqprime coqprime-all \
- old-pipeline-nobigmem print-old-pipeline-nobigmem \
- old-pipeline-lite print-old-pipeline-lite \
- coq-without-new-pipeline \
+ util c-files \
nobigmem print-nobigmem \
- util some-early \
- specific-c specific-display display \
- specific non-specific lite only-heavy printlite lite-display print-lite-display \
- new-pipeline pre-standalone \
- curves-proofs no-curves-proofs no-curves-proofs-non-specific \
- selected-specific selected-specific-display nonautogenerated-specific nonautogenerated-specific-display nonautogenerated-c build-selected-test selected-test build-selected-bench selected-bench selected-c \
- build-test test build-bench bench c \
- standalone standalone-haskell standalone-ocaml \
- regenerate-curves
-
-SORT_COQPROJECT = sed 's,[^/]*/,~&,g' | env LC_COLLATE=C sort | sed 's,~,,g' | uniq
-
-FAST_TARGETS += archclean clean cleanall clean-coqprime printenv clean-old update-_CoqProject regenerate-curves Makefile.coq
-SUPER_FAST_TARGETS += update-_CoqProject Makefile.coq regenerate-curves only-test-c-files
-
-SLOW :=
-ifneq ($(filter-out $(SUPER_FAST_TARGETS),$(MAKECMDGOALS)),)
-SLOW := 1
-else
-ifeq ($(MAKECMDGOALS),)
-SLOW := 1
-endif
-endif
-
-ifneq ($(SLOW),)
-COQ_VERSION_PREFIX = The Coq Proof Assistant, version
-COQ_VERSION := $(firstword $(subst $(COQ_VERSION_PREFIX),,$(shell "$(COQBIN)coqc" --version 2>/dev/null)))
+ lite only-heavy printlite \
+ curves-proofs no-curves-proofs \
+ some-early pre-standalone standalone standalone-haskell standalone-ocaml \
+ test-c-files
-include Makefile.coq
-endif
-
-ifeq ($(filter curves-proofs no-curves-proofs no-curves-proofs-non-specific selected-specific selected-specific-display lite only-heavy printdeps printreversedeps printlite print-lite-display lite-display nobigmem print-nobigmem new-pipeline pre-standalone old-pipeline-nobigmem print-old-pipeline-nobigmem old-pipeline-lite print-old-pipeline-lite util,$(MAKECMDGOALS)),)
--include etc/coq-scripts/Makefile.vo_closure
-else
include etc/coq-scripts/Makefile.vo_closure
-endif
-.DEFAULT_GOAL := coq
+.DEFAULT_GOAL := all
+SORT_COQPROJECT = sed 's,[^/]*/,~&,g' | env LC_COLLATE=C sort | sed 's,~,,g' | uniq
update-_CoqProject::
$(SHOW)'ECHO > _CoqProject'
$(HIDE)(echo '-R $(SRC_DIR) $(MOD_NAME)'; echo '-R bbv/theories bbv'; ((git ls-files 'src/*.v'; (git submodule foreach 'git ls-files "*.v" 2>/dev/null | sed "s|^|$$path/|"' | grep 'bbv/')) | $(SORT_COQPROJECT))) > _CoqProject
-# add files to this list to prevent them from being built by default
-UNMADE_VOFILES :=
-UNMADE_C_FILES := \
- src/Specific/X25519/C64/fesub.c src/Specific/X25519/C64/feadd.c src/Specific/X25519/C64/fecarry.c \
- src/Specific/X25519/C64/fesub.h src/Specific/X25519/C64/feadd.h src/Specific/X25519/C64/fecarry.h \
- src/Specific/X25519/C32/fesub.c src/Specific/X25519/C32/feadd.c src/Specific/X25519/C32/fecarry.c \
- src/Specific/X25519/C32/fesub.h src/Specific/X25519/C32/feadd.h src/Specific/X25519/C32/fecarry.h
-# files that are treated specially
+# coq .vo files that are not compiled using coq_makefile
SPECIAL_VOFILES := \
- src/Specific/%Display.vo \
src/ExtractionOCaml/%.vo \
src/ExtractionHaskell/%.vo
-SPECIFIC_GENERATED_VOFILES := src/Specific/solinas%.vo src/Specific/montgomery%.vo
# add files to this list to prevent them from being built as final
# targets by the "lite" target
-NEW_PIPELINE_FILTER := src/%
LITE_UNMADE_VOFILES := src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo \
src/Curves/Weierstrass/Projective.vo \
- src/Specific/X2448/Karatsuba/C64/fe%.vo \
- src/Specific/NISTP256/AMD64/fe%.vo \
- src/Specific/NISTP256/AMD128/fe%.vo \
- src/Specific/X25519/C64/ladderstep.vo \
- src/Specific/X25519/C32/fe%.vo \
src/RewriterWf1.vo \
src/RewriterWf2.vo \
src/RewriterRulesGood.vo \
src/RewriterProofs.vo \
- src/Toplevel2.vo \
- src/SlowPrimeSynthesisExamples.vo \
- src/Experiments/SimplyTypedArithmetic.vo \
- $(SPECIFIC_GENERATED_VOFILES)
+ src/Toplevel2.vo
NOBIGMEM_UNMADE_VOFILES := \
src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo \
- src/Curves/Weierstrass/Projective.vo \
- $(SPECIFIC_GENERATED_VOFILES)
-OLD_PIPELINE_LITE_UNMADE_VOFILES := $(LITE_UNMADE_VOFILES) $(NEW_PIPELINE_FILTER)
-OLD_PIPELINE_NOBIGMEM_UNMADE_VOFILES := $(NOBIGMEM_UNMADE_VOFILES) $(NEW_PIPELINE_FILTER)
-REGULAR_VOFILES := $(filter-out $(SPECIAL_VOFILES) $(UNMADE_VOFILES),$(VOFILES))
+ src/Curves/Weierstrass/Projective.vo
+REGULAR_VOFILES := $(filter-out $(SPECIAL_VOFILES),$(VOFILES))
CURVES_PROOFS_PRE_VOFILES := $(filter src/Curves/Weierstrass/Jacobian.vo src/Curves/%Proofs.vo,$(REGULAR_VOFILES))
-NO_CURVES_PROOFS_UNMADE_VOFILES := src/Curves/Weierstrass/AffineProofs.vo \
+NO_CURVES_PROOFS_UNMADE_VOFILES := \
+ src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo
-NO_CURVES_PROOFS_NON_SPECIFIC_UNMADE_VOFILES := $(filter $(NO_CURVES_PROOFS_UNMADE_VOFILES) src/Specific/%.vo,$(VOFILES))
-REAL_SPECIFIC_GENERATED_VOFILES := $(filter $(SPECIFIC_GENERATED_VOFILES),$(VOFILES))
-NEW_PIPELINE_PRE_VOFILES := $(filter $(NEW_PIPELINE_FILTER),$(REGULAR_VOFILES))
PRE_STANDALONE_PRE_VOFILES := $(filter src/Standalone%.vo,$(REGULAR_VOFILES))
UTIL_PRE_VOFILES := $(filter bbv/%.vo src/Algebra/%.vo src/Tactics/%.vo src/Util/%.vo,$(REGULAR_VOFILES))
-COQ_WITHOUT_NEW_PIPELINE_VOFILES := $(filter-out $(NEW_PIPELINE_FILTER),$(REGULAR_VOFILES))
SOME_EARLY_VOFILES := \
- src/Arithmetic.vo \
- src/Rewriter.vo \
- src/Experiments/SimplyTypedArithmetic.vo
-
-SELECTED_PATTERN := \
- src/Specific/X25519/C64/% \
- src/Specific/X25519/C32/Synthesis.vo \
- src/Specific/NISTP256/AMD64/% \
- src/Specific/NISTP256/AMD128/Synthesis.vo \
- src/Specific/NISTP256/FancyMachine256/% \
- third_party/%
-SELECTED_SPECIFIC_PRE_VOFILES := $(filter $(SELECTED_PATTERN),$(REGULAR_VOFILES))
-
-COQ_VOFILES := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(REGULAR_VOFILES))
-FILESTOINSTALL := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(FILESTOINSTALL))
-SPECIFIC_VO := $(filter src/Specific/%,$(REGULAR_VOFILES))
-NONAUTOGENERATED_SPECIFIC_VO := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(SPECIFIC_VO))
-NON_SPECIFIC_VO := $(filter-out $(SPECIFIC_VO),$(REGULAR_VOFILES))
-SPECIFIC_DISPLAY_VO := $(filter src/Specific/%Display.vo,$(filter-out $(UNMADE_VOFILES),$(VOFILES)))
-NONAUTOGENERATED_SPECIFIC_DISPLAY_VO := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(SPECIFIC_DISPLAY_VO))
-DISPLAY_VO := $(SPECIFIC_DISPLAY_VO)
-DISPLAY_JAVA_VO := $(filter %JavaDisplay.vo,$(DISPLAY_VO))
-DISPLAY_NON_JAVA_VO := $(filter-out $(DISPLAY_JAVA_VO),$(DISPLAY_VO))
-SELECTED_SPECIFIC_DISPLAY_VO := $(filter $(SELECTED_PATTERN),$(DISPLAY_VO))
+ src/Arithmetic.vo \
+ src/Rewriter.vo
+
# computing the vo_reverse_closure is slow, so we only do it if we're
# asked to make the lite target
-ifneq ($(filter printlite lite lite-display print-lite-display,$(MAKECMDGOALS)),)
+ifneq ($(filter printlite lite,$(MAKECMDGOALS)),)
LITE_ALL_UNMADE_VOFILES := $(foreach vo,$(LITE_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-LITE_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-LITE_DISPLAY_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(DISPLAY_VO))
-endif
-ifneq ($(filter print-old-pipeline-lite old-pipeline-lite,$(MAKECMDGOALS)),)
-OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES := $(foreach vo,$(OLD_PIPELINE_LITE_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-OLD_PIPELINE_LITE_VOFILES := $(filter-out $(OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+LITE_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter nobigmem print-nobigmem,$(MAKECMDGOALS)),)
NOBIGMEM_ALL_UNMADE_VOFILES := $(foreach vo,$(NOBIGMEM_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NOBIGMEM_VOFILES := $(filter-out $(NOBIGMEM_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-endif
-ifneq ($(filter old-pipeline-nobigmem print-old-pipeline-nobigmem,$(MAKECMDGOALS)),)
-OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES := $(foreach vo,$(OLD_PIPELINE_NOBIGMEM_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-OLD_PIPELINE_NOBIGMEM_VOFILES := $(filter-out $(OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+NOBIGMEM_VOFILES := $(filter-out $(NOBIGMEM_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter only-heavy,$(MAKECMDGOALS)),)
HEAVY_VOFILES := $(call vo_closure,$(LITE_UNMADE_VOFILES))
@@ -169,81 +87,31 @@ UTIL_VOFILES := $(call vo_closure,$(UTIL_PRE_VOFILES))
endif
ifneq ($(filter no-curves-proofs,$(MAKECMDGOALS)),)
NO_CURVES_PROOFS_ALL_UNMADE_VOFILES := $(foreach vo,$(NO_CURVES_PROOFS_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NO_CURVES_PROOFS_VOFILES := $(filter-out $(NO_CURVES_PROOFS_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-endif
-ifneq ($(filter no-curves-proofs-non-specific,$(MAKECMDGOALS)),)
-NO_CURVES_PROOFS_NON_SPECIFIC_ALL_UNMADE_VOFILES := $(foreach vo,$(NO_CURVES_PROOFS_NON_SPECIFIC_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NO_CURVES_PROOFS_NON_SPECIFIC_VOFILES := $(filter-out $(NO_CURVES_PROOFS_NON_SPECIFIC_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+NO_CURVES_PROOFS_VOFILES := $(filter-out $(NO_CURVES_PROOFS_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter curves-proofs,$(MAKECMDGOALS)),)
CURVES_PROOFS_VOFILES := $(call vo_closure,$(CURVES_PROOFS_PRE_VOFILES))
endif
-ifneq ($(filter selected-specific,$(MAKECMDGOALS)),)
-SELECTED_SPECIFIC_VOFILES := $(call vo_closure,$(SELECTED_SPECIFIC_PRE_VOFILES))
-endif
-ifneq ($(filter new-pipeline,$(MAKECMDGOALS)),)
-NEW_PIPELINE_VOFILES := $(call vo_closure,$(NEW_PIPELINE_PRE_VOFILES))
-endif
ifneq ($(filter pre-standalone,$(MAKECMDGOALS)),)
PRE_STANDALONE_VOFILES := $(call vo_closure,$(PRE_STANDALONE_PRE_VOFILES))
endif
-specific: $(SPECIFIC_VO)
-non-specific: $(NON_SPECIFIC_VO)
-coq: $(COQ_VOFILES)
+all: coq c-files
+coq: $(REGULAR_VOFILES)
+c-files: $(ALL_C_FILES)
+
lite: $(LITE_VOFILES)
-old-pipeline-lite: $(OLD_PIPELINE_LITE_VOFILES)
-lite-display: $(LITE_DISPLAY_VOFILES:.vo=.log)
-coq-without-new-pipeline: $(COQ_WITHOUT_NEW_PIPELINE_VOFILES)
nobigmem: $(NOBIGMEM_VOFILES)
-old-pipeline-nobigmem: $(OLD_PIPELINE_NOBIGMEM_VOFILES)
only-heavy: $(HEAVY_VOFILES)
util: $(UTIL_VOFILES)
curves-proofs: $(CURVES_PROOFS_VOFILES)
no-curves-proofs: $(NO_CURVES_PROOFS_VOFILES)
-no-curves-proofs-non-specific: $(NO_CURVES_PROOFS_NON_SPECIFIC_VOFILES)
-new-pipeline: $(NEW_PIPELINE_VOFILES)
pre-standalone: $(PRE_STANDALONE_VOFILES)
-specific-display: $(SPECIFIC_DISPLAY_VO:.vo=.log)
-specific-c: $(filter-out $(UNMADE_C_FILES),$(SPECIFIC_DISPLAY_VO:Display.vo=.c) $(SPECIFIC_DISPLAY_VO:Display.vo=.h))
-selected-specific: $(SELECTED_SPECIFIC_VOFILES)
-selected-specific-display: $(SELECTED_SPECIFIC_DISPLAY_VO:.vo=.log)
-selected-c: $(filter-out $(UNMADE_C_FILES),$(SELECTED_SPECIFIC_DISPLAY_VO:Display.vo=.c) $(SELECTED_SPECIFIC_DISPLAY_VO:Display.vo=.h))
some-early: $(SOME_EARLY_VOFILES)
-nonautogenerated-specific: $(NONAUTOGENERATED_SPECIFIC_VOFILES)
-nonautogenerated-specific-display: $(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:.vo=.log)
-nonautogenerated-c: $(filter-out $(UNMADE_C_FILES),$(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:Display.vo=.c) $(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:Display.vo=.h))
-display: $(DISPLAY_VO:.vo=.log)
-
-regenerate-curves::
- ./regenerate-curves.sh
-
-# extra target for faster coqdep
-.PHONY: src/Specific/.autgenerated-deps
-src/Specific/.autgenerated-deps:
- $(SHOW)'COQDEP $@'
- $(HIDE)$(COQDEP) $(COQLIBS) -dyndep var -c $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v) $(redir_if_ok)
-
-.PHONY: fast-autogenerated-deps
-fast-autogenerated-deps: src/Specific/.autgenerated-deps
- $(SHOW)'CP .v.d'
- $(HIDE)for i in $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d); do rm -f $$i; ln -s "$(shell cd src/Specific && pwd)/.autgenerated-deps" $$i; done
-
-.PHONY: fake-autogenerated-deps
-fake-autogenerated-deps:
- $(SHOW)'FAKE COQDEP SPECIFIC.v.d'
- $(HIDE)touch $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d)
-
-ifneq ($(filter fast-autogenerated-deps,$(MAKECMDGOALS)),)
-$(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d): fast-autogenerated-deps
- @ true
-endif
-ifneq ($(filter fake-autogenerated-deps,$(MAKECMDGOALS)),)
-$(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d): fake-autogenerated-deps
- @ true
-endif
+# backwards-compat for coq ci:
+new-pipeline: coq
printlite::
@@ -254,22 +122,6 @@ printlite::
@echo 'Files Not Made:'
@for i in $(sort $(LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-print-old-pipeline-lite::
- @echo 'Files Made:'
- @for i in $(sort $(OLD_PIPELINE_LITE_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-
-print-lite-display::
- @echo 'Files Made:'
- @for i in $(sort $(LITE_DISPLAY_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-
print-nobigmem::
@echo 'Files Made:'
@for i in $(sort $(NOBIGMEM_VOFILES)); do echo $$i; done
@@ -278,21 +130,10 @@ print-nobigmem::
@echo 'Files Not Made:'
@for i in $(sort $(NOBIGMEM_ALL_UNMADE_VOFILES)); do echo $$i; done
-print-old-pipeline-nobigmem::
- @echo 'Files Made:'
- @for i in $(sort $(OLD_PIPELINE_NOBIGMEM_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES)); do echo $$i; done
-
-ifneq ($(filter 8.5%,$(COQ_VERSION)),) # 8.5
-else
+OTHERFLAGS += -w "-notation-overridden"
ifneq ($(PROFILE),)
OTHERFLAGS += -profile-ltac
endif
-OTHERFLAGS += -w "-notation-overridden"
-endif
ifneq ($(filter /cygdrive/%,$(CURDIR)),)
CURDIR_SAFE := $(shell cygpath -m "$(CURDIR)")
@@ -329,219 +170,12 @@ install: install-coqprime
endif
-etc/tscfreq: etc/tscfreq.c
- gcc etc/tscfreq.c -s -Os -o etc/tscfreq
-
Makefile.coq: Makefile _CoqProject
$(SHOW)'COQ_MAKEFILE -f _CoqProject > $@'
$(HIDE)$(COQBIN)coq_makefile -f _CoqProject INSTALLDEFAULTROOT = $(INSTALLDEFAULTROOT) -o Makefile-old && cat Makefile-old | sed s'/^printenv:/printenv::/g' | sed s'/^printenv:::/printenv::/g' > $@ && rm -f Makefile-old
-$(DISPLAY_NON_JAVA_VO:.vo=.log) : %Display.log : %.vo src/Compilers/Z/CNotations.vo src/Specific/Framework/IntegrationTestDisplayCommon.vo
-
-$(DISPLAY_NON_JAVA_VO:.vo=.log) : %.log : %.v
- $(SHOW)'COQC $< > $@'
- $(HIDE)$(TIMER) $(COQC) $(COQDEBUG) $(COQFLAGS) $(COQLIBS) $< > $@.tmp
- $(HIDE)sed s'/\r\n/\n/g' $@.tmp > $@ && rm -f $@.tmp
-
-DISPLAY_X25519_C64_VO := $(filter src/Specific/X25519/C64/%,$(DISPLAY_NON_JAVA_VO))
-DISPLAY_X25519_C32_VO := $(filter src/Specific/X25519/C32/%,$(DISPLAY_NON_JAVA_VO))
-DISPLAY_NON_JAVA_C32_VO := $(DISPLAY_X25519_C32_VO)
-DISPLAY_NON_JAVA_C64_VO := $(filter-out $(DISPLAY_NON_JAVA_C32_VO) $(SPECIFIC_GENERATED_VOFILES),$(DISPLAY_NON_JAVA_VO))
-DISPLAY_GENERATED_VO := $(filter $(SPECIFIC_GENERATED_VOFILES),$(DISPLAY_NON_JAVA_VO))
-DISPLAY_NON_GENERATED_VO := $(filter-out $(DISPLAY_GENERATED_VO),$(DISPLAY_NON_JAVA_VO))
-
-c: $(filter-out $(UNMADE_C_FILES),$(DISPLAY_NON_JAVA_VO:Display.vo=.c) $(DISPLAY_NON_GENERATED_VO:Display.vo=.h))
-
-$(DISPLAY_NON_JAVA_C64_VO:Display.vo=.c) : %.c : %Display.log extract-function.sh
- BITWIDTH=64 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ./extract-function.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C32_VO:Display.vo=.c) : %.c : %Display.log extract-function.sh
- BITWIDTH=32 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ./extract-function.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C64_VO:Display.vo=.h) : %.h : %Display.log extract-function-header.sh
- BITWIDTH=64 ./extract-function-header.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C32_VO:Display.vo=.h) : %.h : %Display.log extract-function-header.sh
- BITWIDTH=32 ./extract-function-header.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_GENERATED_VO:Display.vo=.c) : %.c : %Display.log src/Specific/Framework/bench/prettyprint.py
- ./src/Specific/Framework/bench/prettyprint.py $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-$(DISPLAY_JAVA_VO:.vo=.log) : %JavaDisplay.log : %.vo src/Compilers/Z/JavaNotations.vo src/Specific/Framework/IntegrationTestDisplayCommon.vo
-
-$(DISPLAY_JAVA_VO:.vo=.log) : %.log : %.v
- $(SHOW)'COQC $< > $@'
- $(HIDE)$(TIMER) $(COQC) $(COQDEBUG) $(COQFLAGS) $< | sed s'/\r\n/\n/g' > $@.tmp && mv -f $@.tmp $@
-
-TEST_BINARIES := \
- src/Specific/X25519/C64/test \
- src/Specific/NISTP256/AMD64/test/feadd_test \
- src/Specific/NISTP256/AMD64/test/femul_test \
- src/Specific/NISTP256/AMD64/test/p256_test \
- src/Specific/NISTP256/AMD64/icc/p256_test
-RUN_TEST_BINARIES := $(addsuffix -run,$(TEST_BINARIES))
-MEASUREMENTS := \
- src/Specific/X25519/C64/measurements.txt \
- third_party/openssl-curve25519/measurements.txt \
- third_party/curve25519-donna-c64/measurements.txt \
- third_party/openssl-nistz256-amd64/measurements.txt \
- third_party/openssl-nistz256-adx/measurements.txt \
- third_party/openssl-nistp256c64/measurements.txt \
- src/Specific/NISTP256/AMD64/measurements.txt \
- src/Specific/NISTP256/AMD64/icc/measurements.txt
-MEASURE_BINARIES := $(addsuffix measure,$(dir $(MEASUREMENTS)))
-
-SELECTED_TEST_BINARIES := $(filter $(SELECTED_PATTERN),$(TEST_BINARIES))
-RUN_SELECTED_TEST_BINARIES := $(filter $(SELECTED_PATTERN),$(RUN_TEST_BINARIES))
-SELECTED_MEASURE_BINARIES := $(filter $(SELECTED_PATTERN),$(MEASURE_BINARIES))
-SELECTED_MEASUREMENTS := $(filter $(SELECTED_PATTERN),$(MEASUREMENTS))
-
-src/Specific/X25519/C64/test src/Specific/X25519/C64/measure: $(filter-out $(UNMADE_C_FILES),$(DISPLAY_X25519_C64_VO:Display.vo=.c) $(DISPLAY_X25519_C64_VO:Display.vo=.h)) src/Specific/X25519/C64/scalarmult.c
-src/Specific/X25519/C64/test: src/Specific/X25519/C64/compiler.sh src/Specific/X25519/x25519_test.c
-src/Specific/X25519/C64/test: INCLUDE_FOLDER=src/Specific/X25519/C64
-src/Specific/X25519/C64/measure: UUT=crypto_scalarmult_bench
-src/Specific/X25519/C64/measurements.txt: COUNT=2047
-
-third_party/openssl-curve25519/measure: third_party/openssl-curve25519/crypto_scalarmult_bench.c third_party/openssl-curve25519/ec_curve25519.c third_party/openssl-curve25519/ec_curve25519.h
-third_party/openssl-curve25519/measure: UUT=crypto_scalarmult_bench
-third_party/openssl-curve25519/measurements.txt: COUNT=2047
-
-third_party/curve25519-donna-c64/measure: third_party/curve25519-donna-c64/crypto_scalarmult_bench.c third_party/curve25519-donna-c64/curve25519-donna-c64.c
-third_party/curve25519-donna-c64/measure: UUT=crypto_scalarmult_bench
-third_party/curve25519-donna-c64/measurements.txt: COUNT=2047
-
-third_party/openssl-nistz256-amd64/measure: third_party/openssl-nistz256-amd64/bench_madd.c third_party/openssl-nistz256-amd64/cpu_intel.c third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s third_party/openssl-nistz256-amd64/nistz256.h
-third_party/openssl-nistz256-amd64/measure: UUT=bench_madd
-third_party/openssl-nistz256-amd64/measurements.txt: COUNT=65535
-
-third_party/openssl-nistz256-adx/measure: third_party/openssl-nistz256-adx/bench_madd.c third_party/openssl-nistz256-adx/cpu_intel.c third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s third_party/openssl-nistz256-adx/nistz256.h
-third_party/openssl-nistz256-adx/measure: UUT=bench_madd
-third_party/openssl-nistz256-adx/measurements.txt: COUNT=65535
-
-third_party/openssl-nistp256c64/measure: third_party/openssl-nistp256c64/bench_madd.c third_party/openssl-nistp256c64/ecp_nistp256.c third_party/openssl-nistp256c64/ecp_nistp256.h
-third_party/openssl-nistp256c64/measure: UUT=bench_madd
-third_party/openssl-nistp256c64/measurements.txt: COUNT=65535
-
-src/Specific/NISTP256/AMD64/measure: src/Specific/NISTP256/AMD64/bench_madd.c src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/fenz.h src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/feopp.h src/Specific/NISTP256/AMD64/feopp.c src/Specific/NISTP256/AMD64/fesub.h src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/measure: UUT=bench_madd
-src/Specific/NISTP256/AMD64/measurements.txt: COUNT=65535
-
-src/Specific/NISTP256/AMD64/icc/measure: src/Specific/NISTP256/AMD64/p256.h src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s src/Specific/NISTP256/AMD64/bench_madd.c liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/icc/measure: UUT=bench_madd
-src/Specific/NISTP256/AMD64/icc/measurements.txt: COUNT=65535
-
-
-src/Specific/NISTP256/AMD64/test/feadd_test src/Specific/NISTP256/AMD64/test/femul_test src/Specific/NISTP256/AMD64/test/p256_test: src/Specific/NISTP256/AMD64/compiler.sh liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/test/feadd_test src/Specific/NISTP256/AMD64/test/femul_test src/Specific/NISTP256/AMD64/test/p256_test: INCLUDE_FOLDER=src/Specific/NISTP256/AMD64/
-
-src/Specific/NISTP256/AMD64/test/feadd_test: src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/test/feadd_test.c
-
-src/Specific/NISTP256/AMD64/test/femul_test: src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/test/femul_test.c
-
-src/Specific/NISTP256/AMD64/test/p256_test: src/Specific/NISTP256/AMD64/test/p256_test.c src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/fenz.h src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/fesub.h src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c src/Specific/NISTP256/AMD64/p256.h
-
-src/Specific/NISTP256/AMD64/icc/p256_test: src/Specific/NISTP256/AMD64/icc/compiler.sh src/Specific/NISTP256/AMD64/test/p256_test.c src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s src/Specific/NISTP256/AMD64/p256.h
-src/Specific/NISTP256/AMD64/icc/p256_test: INCLUDE_FOLDER=src/Specific/NISTP256/AMD64/
-
-$(TEST_BINARIES):
- $(filter %/compiler.sh,$^) -o $@ -I liblow -I $(INCLUDE_FOLDER) $(filter %.c %.s,$^)
-
-$(MEASURE_BINARIES) : %/measure : %/compiler.sh measure.c
- $*/compiler.sh -o $@ -I liblow -I $* $(filter %.c %.s,$^) -D UUT=$(UUT)
-
-$(MEASUREMENTS) : %/measurements.txt : %/measure capture.sh etc/machine.sh etc/cpufreq etc/tscfreq
- ./capture.sh $* $(COUNT)
-
-src/Specific/NISTP256/AMD64/icc/combined.c: liblow/cmovznz.c src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c extract-function.sh
- (cd src/Specific/NISTP256/AMD64 && ( BITWIDTH=64 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ../../../../extract-function.sh "stdint" < /dev/null | grep -v stdint && sed 's:^uint64_t:static inline &:' ../../../../liblow/cmovznz.c && echo fenz.c feadd.c fesub.c femul.c p256_jacobian_add_affine.c | xargs -n1 grep -A99999 void -- ) | sed 's:^void force_inline:static inline void force_inline:' | grep -v liblow > icc/combined.c )
-
-GENERATED_FOLDERS := $(sort $(dir $(filter $(SPECIFIC_GENERATED_VOFILES),$(REGULAR_VOFILES))))
-GENERATED_PY_MEASUREMENTS := $(addsuffix montladder.log,$(GENERATED_FOLDERS))
-GENERATED_GMPXX := $(addsuffix gmpxx,$(GENERATED_FOLDERS))
-GENERATED_GMPXX_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPXX))
-GENERATED_GMPVAR := $(addsuffix gmpvar,$(GENERATED_FOLDERS))
-GENERATED_GMPVAR_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPVAR))
-GENERATED_GMPSEC := $(addsuffix gmpsec,$(GENERATED_FOLDERS))
-GENERATED_GMPSEC_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPSEC))
-GENERATED_FIBE := $(addsuffix fibe,$(GENERATED_FOLDERS))
-GENERATED_FIBE_MEASUREMENTS := $(addsuffix .log,$(GENERATED_FIBE))
-
-generated-benchmarks: $(GENERATED_FIBE) $(GENERATED_GMPSEC) $(GENERATED_GMPVAR) $(GENERATED_GMPXX)
-
-$(GENERATED_PY_MEASUREMENTS) : %/montladder.log : %/py_interpreter.sh src/Specific/Framework/bench/montladder.py
- sh $*/py_interpreter.sh src/Specific/Framework/bench/montladder.py > $@
-
-$(GENERATED_GMPXX) : %/gmpxx : %/compilerxx.sh src/Specific/Framework/bench/gmpxx.cpp
- sh $*/compilerxx.sh src/Specific/Framework/bench/gmpxx.cpp -lgmp -lgmpxx -o $@
-
-$(GENERATED_GMPXX_MEASUREMENTS) : %/gmpxx.log : %/gmpxx
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_GMPVAR) : %/gmpvar : %/compiler.sh src/Specific/Framework/bench/gmpvar.c
- sh $*/compiler.sh src/Specific/Framework/bench/gmpvar.c -lgmp -o $@
-
-$(GENERATED_GMPVAR_MEASUREMENTS) : %/gmpvar.log : %/gmpvar
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_GMPSEC) : %/gmpsec : %/compiler.sh src/Specific/Framework/bench/gmpsec.c
- sh $*/compiler.sh src/Specific/Framework/bench/gmpsec.c -lgmp -o $@
-
-$(GENERATED_GMPSEC_MEASUREMENTS) : %/gmpsec.log : %/gmpsec
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_FIBE) : %/fibe : %/compiler.sh src/Specific/Framework/bench/fibe.c %/feadd.c %/femul.c %/fesquare.c %/fesub.c liblow/liblow.h liblow/cmovznz.c
- sh $*/compiler.sh -I liblow/ liblow/cmovznz.c src/Specific/Framework/bench/fibe.c -I $*/ -o $@
-
-$(GENERATED_FIBE_MEASUREMENTS) : %/fibe.log : %/fibe
- $(STDTIME) $< 2>&1 | tee $@
-
-.PHONY: generated-py-bench
-generated-py-bench: $(GENERATED_PY_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpxx-bench
-generated-gmpxx-bench: $(GENERATED_GMPXX_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpvar-bench
-generated-gmpvar-bench: $(GENERATED_GMPVAR_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpsec-bench
-generated-gmpsec-bench: $(GENERATED_GMPSEC_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-fibe-bench
-generated-fibe-bench: $(GENERATED_FIBE_MEASUREMENTS)
- head -999999 $?
-
-bench: $(MEASUREMENTS)
- head -999999 $?
-
-selected-bench: $(SELECTED_MEASUREMENTS)
- head -999999 $?
-
-
-.PHONY: $(RUN_TEST_BINARIES)
-$(RUN_TEST_BINARIES) : %-run : %
- $<
-
-test: $(RUN_TEST_BINARIES)
-
-build-test: $(TEST_BINARIES)
-
-selected-test: $(RUN_SELECTED_TEST_BINARIES)
-
-build-selected-test: $(SELECTED_TEST_BINARIES)
-
-build-bench: $(MEASURE_BINARIES)
-
-build-selected-bench: $(SELECTED_MEASURE_BINARIES)
-
-STANDALONE := \
- unsaturated_solinas \
- saturated_solinas \
- word_by_word_montgomery
+STANDALONE := unsaturated_solinas saturated_solinas word_by_word_montgomery
$(STANDALONE:%=src/ExtractionOCaml/%.ml) : %.ml : %.v src/StandaloneOCamlMain.vo
$(SHOW)'COQC $< > $@'
@@ -561,18 +195,15 @@ $(STANDALONE:%=src/ExtractionHaskell/%) : % : %.hs
$(TIMER_FULL) $(GHC) $(GHCFLAGS) -o $@ $<
standalone: standalone-haskell standalone-ocaml
-
standalone-haskell: $(STANDALONE:%=src/ExtractionHaskell/%)
standalone-ocaml: $(STANDALONE:%=src/ExtractionOCaml/%)
UNSATURATED_SOLINAS_C_FILES := curve25519_64.c curve25519_32.c p521_64.c p521_32.c # p224_solinas_64.c
WORD_BY_WORD_MONTGOMERY_C_FILES := p256_64.c p256_32.c p384_64.c p384_32.c secp256k1_64.c secp256k1_32.c p224_64.c p224_32.c
+ALL_C_FILES := $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
FUNCTIONS_FOR_25519 := carry_mul carry_square carry_scmul121666 carry add sub opp selectznz to_bytes from_bytes
UNSATURATED_SOLINAS := src/ExtractionOCaml/unsaturated_solinas
WORD_BY_WORD_MONTGOMERY := src/ExtractionOCaml/word_by_word_montgomery
-ALL_C_FILES := $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
-.PHONY: c-files
-c-files: $(ALL_C_FILES)
$(UNSATURATED_SOLINAS_C_FILES): $(UNSATURATED_SOLINAS) # Makefile
@@ -623,15 +254,11 @@ p224_64.c p224_32.c : p224_%.c :
$(SHOW)'SYNTHESIZE > $@'
$(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'p224' '2^224' '2^96,1;1,-1' '$*' > $@
-CFLAGS?=
-.PHONY: only-test-c-files test-c-files
-only-test-c-files test-c-files:
- $(CC) -Wall -Wno-unused-function -Werror $(CFLAGS) -c $(ALL_C_FILES)
-
test-c-files: $(ALL_C_FILES)
+ $(CC) -Wall -Wno-unused-function -Werror $(CFLAGS) -c $(ALL_C_FILES)
clean::
- rm -f Makefile.coq remake_curves.log src/Specific/.autgenerated-deps
+ rm -f Makefile.coq
cleanall:: clean