-
Notifications
You must be signed in to change notification settings - Fork 144
Expand file tree
/
Copy pathMakefile
More file actions
131 lines (90 loc) · 2.35 KB
/
Copy pathMakefile
File metadata and controls
131 lines (90 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
GO_CORSET ?= go-corset
GIT_COMMIT := $(shell git rev-parse HEAD)
GIT_TAGS := $(shell git -P tag --points-at)
TIMESTAMP := $(shell date)
GO_CORSET_COMPILE := ${GO_CORSET} compile -Dtags="${GIT_TAGS}" -Dcommit="${GIT_COMMIT}" -Dtimestamp="${TIMESTAMP}"
# Modules setting
## Some modules set below are fork specific. Eg. For OOB, OOB_LONDON is the OOB module for London and OOB_SHANGHAI the OOB module for Shanghai.
## The discrimination is done by having one bin file per fork - see command line below
ALU := alu/add.zkasm alu/ext.zkasm alu/mod.zkasm alu/mul.zkasm
BIN := bin/bin.zkasm
BLAKE2f_MODEXP_DATA := blake2fmodexpdata
# constraints used in prod for LINEA, with linea block gas limit
BLOCKDATA := blockdata
BLOCKHASH := blockhash
BLS := blsdata
CONSTANTS := constants/constants.lisp
CONSTANTS_OSAKA := constants/osaka/constants.zkasm
EC_DATA := ecdata
EUC := euc/euc.zkasm
EXP := exp/exp.zkasm
GAS := gas/gas.zkasm
HUB_OSAKA := hub/osaka
LIBRARY := library
LOG_DATA := logdata
LOG_INFO := loginfo
MMIO := mmio
MMU := mmu
MXP := mxp
OOB := oob/oob.zkasm
PRECOMPILES := # blake2f/blake2f.zkasm
RLP_ADDR := rlpaddr
RLP_AUTH := rlpauth/rlpauth.zkasm rlpauth/lookups
RLP_TXN := rlptxn
RLP_TXN_RCPT := rlptxrcpt
RLP_TXRCPT := rlptxrcpt
RLP_UTILS := rlputils/rlputils.zkasm
ROM := rom
ROM_LEX := romlex
SHAKIRA_DATA := shakiradata
SHIFT := shf/shf.zkasm
STP := stp/stp.zkasm
TABLES := reftables
TRM := trm/trm.zkasm
TXN_DATA := txndata
WCP := wcp/wcp.zkasm
LISPX := $(shell find * -name "*.lispX")
# Warn about any lispX files
define warn_lispX
@for FILE in ${LISPX}; do (echo "WARNING: $$FILE"); done
endef
ZKEVM_MODULES_COMMON := ${CONSTANTS} \
${TABLES} \
${ALU} \
${BIN} \
${BLAKE2f_MODEXP_DATA} \
${BLOCKDATA} \
${BLOCKHASH} \
${BLS} \
${EC_DATA} \
${EUC} \
${EXP} \
${GAS} \
${LIBRARY} \
${LOG_DATA} \
${LOG_INFO} \
${MMIO} \
${MMU} \
${MXP} \
${OOB} \
${PRECOMPILES} \
${RLP_ADDR} \
${RLP_AUTH} \
${RLP_TXN} \
${RLP_TXN_RCPT} \
${RLP_UTILS} \
${ROM} \
${ROM_LEX} \
${SHAKIRA_DATA} \
${SHIFT} \
${STP} \
${TRM} \
${TXN_DATA} \
${WCP}
ZKEVM_MODULES_OSAKA := ${ZKEVM_MODULES_COMMON} \
${CONSTANTS_OSAKA} \
${HUB_OSAKA}
all: zkevm_osaka.bin
zkevm_osaka.bin: ${ZKEVM_MODULES_OSAKA}
${GO_CORSET_COMPILE} -o $@ ${ZKEVM_MODULES_OSAKA}
@$(call warn_lispX)