Skip to content

Commit 52eba47

Browse files
build Everything.v in Makefile.composed, wrap rewriter (#2329)
1 parent cb5d041 commit 52eba47

3 files changed

Lines changed: 42 additions & 10 deletions

File tree

rewriter.BUILD.mk

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
REWRITER_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))/rewriter/src/Rewriter
2-
REWRITER_VFILES := $(call rwildcard,$(REWRITER_DIR),*.v)
2+
OCAMLPATH ?=
3+
export OCAMLPATH := $(REWRITER_DIR)/Util/plugins$(if $(OCAMLPATH),:$(OCAMLPATH))
4+
5+
include rewriter/Makefile.local.common
6+
REWRITER_COMPAT_VFILES := $(addprefix rewriter/,$(filter %.v,$(COMPATIBILITY_FILES)))
7+
REWRITER_VFILES := $(sort $(call rwildcard,$(REWRITER_DIR),*.v) $(REWRITER_COMPAT_VFILES))
38
REWRITER_COQDEPFLAGS := -I $(REWRITER_DIR)/Util/plugins -Q $(REWRITER_DIR) $(notdir $(REWRITER_DIR))
49
REWRITER_REQUIREFLAGS := -I $(REWRITER_DIR)/Util/plugins -Q $(O)/$(REWRITER_DIR) $(notdir $(REWRITER_DIR))
510

11+
$(REWRITER_COMPAT_VFILES): | recursive-make-rewriter-plugin
12+
$(O)/.coqdep.mk: | recursive-make-rewriter-plugin
13+
14+
.PHONY: recursive-make-rewriter-optfiles
15+
recursive-make-rewriter-plugin: private MAKEFLAGS := --silent
16+
recursive-make-rewriter-plugin: | recursive-make-rewriter-plugin
17+
$(MAKE) -C $(REWRITER_DIR)/../.. optfiles
18+
619
REWRITER_COQFLAGS := $(REWRITER_REQUIREFLAGS)
720
$(O)/$(REWRITER_DIR)/%.vo: private COQFLAGS += $(REWRITER_COQFLAGS)
821
$(O)/$(REWRITER_DIR)/%.vos: private COQFLAGS += $(REWRITER_COQFLAGS)
922
$(O)/$(REWRITER_DIR)/%.vok: private COQFLAGS += $(REWRITER_COQFLAGS)
10-
$(O)/$(REWRITER_DIR)/Util/plugins/%.vo: rewriterplugin
11-
$(O)/$(REWRITER_DIR)/Util/plugins/%.vos: rewriterplugin
12-
$(O)/$(REWRITER_DIR)/Util/plugins/%.vok: rewriterplugin
13-
# .PHONY: rewriterplugin
14-
# rewriterplugin: private MAKEFLAGS := --silent
15-
# rewriterplugin:
16-
# $(MAKE) -C $(REWRITER_DIR)/../.. optfiles
17-
# $(O)/.coqdep.mk: | rewriterplugin

src/BUILD.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FIATCRYPTO_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
2-
FIATCRYPTO_VFILES := $(call rwildcard,$(FIATCRYPTO_DIR),*.v)
2+
FIATCRYPTO_VFILES := $(call rwildcard,$(FIATCRYPTO_DIR),*.v) $(FIATCRYPTO_DIR)/Everything.v
33
FIATCRYPTO_COQDEPFLAGS := -R $(FIATCRYPTO_DIR) Crypto
44
FIATCRYPTO_REQUIREFLAGS := -Q $(O)/$(FIATCRYPTO_DIR) Crypto
55

@@ -8,3 +8,5 @@ $(O)/$(FIATCRYPTO_DIR)/%.vo: private COQFLAGS += $(FIATCRYPTO_COQFLAGS)
88
$(O)/$(FIATCRYPTO_DIR)/%.vos: private COQFLAGS += $(FIATCRYPTO_COQFLAGS)
99
$(O)/$(FIATCRYPTO_DIR)/%.vok: private COQFLAGS += $(FIATCRYPTO_COQFLAGS)
1010
$(FIATCRYPTO_DIR)/_CoqProject: private COQFLAGS += $(FIATCRYPTO_COQFLAGS)
11+
12+
include $(FIATCRYPTO_DIR)/Everything.v.mk

src/Everything.v.mk

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FIATCRYPTO_EVERYTHING_VFILES := $(filter-out $(FIATCRYPTO_DIR)/Everything.v $(FIATCRYPTO_DIR)/Bedrock/Everything.v $(FIATCRYPTO_DIR)/Extraction% $(FIATCRYPTO_DIR)/PerfTesting/% $(FIATCRYPTO_DIR)/Rewriter/PerfTesting/%,$(FIATCRYPTO_VFILES))
2+
#
3+
# PerfTesting targets depend on Everything.vo
4+
FIATCRYPTO_COQDEPFLAGS += -R $(O)/$(FIATCRYPTO_DIR) Crypto
5+
6+
empty :=
7+
space := $(empty) $(empty)
8+
define newline
9+
10+
11+
endef
12+
13+
eq = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1)))
14+
15+
16+
FIATCRYPTO_EVERYTHING_CONTENTS := Require Import$(newline)$(subst $(space),$(newline),$(sort $(subst /,.,$(patsubst $(FIATCRYPTO_DIR)/%.v,Crypto/%,$(FIATCRYPTO_EVERYTHING_VFILES)))))$(newline).
17+
18+
$(O)/$(FIATCRYPTO_DIR):
19+
@mkdir -p $@
20+
21+
$(O)/$(FIATCRYPTO_DIR)/Everything.v: $(FIATCRYPTO_EVERYTHING_VFILES) | $(O)/$(FIATCRYPTO_DIR)
22+
$(if $(call eq,$(file <$@),$(FIATCRYPTO_EVERYTHING_CONTENTS)),,\
23+
$(file >$@,$(FIATCRYPTO_EVERYTHING_CONTENTS)$(newline)))
24+
25+
$(O)/.coqdep.mk: | $(O)/$(FIATCRYPTO_DIR)/Everything.v

0 commit comments

Comments
 (0)