]>
Commit | Line | Data |
---|---|---|
a10a6e2a | 1 | DIST_SUBDIRS = secp256k1 univalue |
575e70c0 | 2 | AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) |
eb12a14d | 3 | |
35b8af92 | 4 | |
6b9f0d55 | 5 | if EMBEDDED_LEVELDB |
56c157d5 CF |
6 | LEVELDB_CPPFLAGS += -I$(srcdir)/leveldb/include |
7 | LEVELDB_CPPFLAGS += -I$(srcdir)/leveldb/helpers/memenv | |
8 | LIBLEVELDB += $(builddir)/leveldb/libleveldb.a | |
9 | LIBMEMENV += $(builddir)/leveldb/libmemenv.a | |
6b9f0d55 CF |
10 | |
11 | # NOTE: This dependency is not strictly necessary, but without it make may try to build both in parallel, which breaks the LevelDB build system in a race | |
12 | $(LIBLEVELDB): $(LIBMEMENV) | |
13 | ||
14 | $(LIBLEVELDB) $(LIBMEMENV): | |
15 | @echo "Building LevelDB ..." && $(MAKE) -C $(@D) $(@F) CXX="$(CXX)" \ | |
16 | CC="$(CC)" PLATFORM=$(TARGET_OS) AR="$(AR)" $(LEVELDB_TARGET_FLAGS) \ | |
ff7fe8b1 | 17 | OPT="$(CXXFLAGS) $(CPPFLAGS) -D__STDC_LIMIT_MACROS" |
6b9f0d55 CF |
18 | endif |
19 | ||
54372482 | 20 | BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config |
6b099402 | 21 | BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) |
f4d81129 | 22 | |
55668266 | 23 | BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include |
a10a6e2a | 24 | BITCOIN_INCLUDES += -I$(srcdir)/univalue/include |
55668266 | 25 | |
84ce18ca WL |
26 | LIBBITCOIN_SERVER=libbitcoin_server.a |
27 | LIBBITCOIN_WALLET=libbitcoin_wallet.a | |
28 | LIBBITCOIN_COMMON=libbitcoin_common.a | |
29 | LIBBITCOIN_CLI=libbitcoin_cli.a | |
30 | LIBBITCOIN_UTIL=libbitcoin_util.a | |
31 | LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a | |
07a99017 | 32 | LIBSECP256K1=secp256k1/libsecp256k1.la |
1dc62631 | 33 | LIBUNIVALUE=univalue/libunivalue.la |
cc686fe5 | 34 | LIBZCASH=libzcash.a -lcurl |
07a99017 PW |
35 | |
36 | $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) | |
4300876c | 37 | $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) |
84ce18ca | 38 | |
fbc98d77 JS |
39 | $(LIBUNIVALUE): $(wildcard univalue/lib/*) |
40 | $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue/ | |
84ce18ca | 41 | |
071473c5 | 42 | # Make is not made aware of per-object dependencies to avoid limiting building parallelization |
43 | # But to build the less dependent modules first, we manually select their order here: | |
fe925e22 | 44 | EXTRA_LIBRARIES = \ |
071473c5 | 45 | crypto/libbitcoin_crypto.a \ |
84ce18ca | 46 | libbitcoin_util.a \ |
071473c5 | 47 | libbitcoin_common.a \ |
071473c5 | 48 | libbitcoin_server.a \ |
e463edc1 | 49 | libbitcoin_cli.a \ |
1785bdb9 | 50 | libzcash.a |
4f9e993b | 51 | if ENABLE_WALLET |
f4d81129 | 52 | BITCOIN_INCLUDES += $(BDB_CPPFLAGS) |
fe925e22 | 53 | EXTRA_LIBRARIES += libbitcoin_wallet.a |
4f9e993b | 54 | endif |
f200002c JG |
55 | if ENABLE_ZMQ |
56 | EXTRA_LIBRARIES += libbitcoin_zmq.a | |
57 | endif | |
35b8af92 | 58 | |
cdd36c6c | 59 | if BUILD_BITCOIN_LIBS |
08d6b02d JG |
60 | lib_LTLIBRARIES = libzcashconsensus.la |
61 | LIBZCASH_CONSENSUS=libzcashconsensus.la | |
cdd36c6c | 62 | else |
08d6b02d | 63 | LIBZCASH_CONSENSUS= |
cdd36c6c | 64 | endif |
2cf5f16c | 65 | |
f930341d | 66 | bin_PROGRAMS = |
8e0fc390 | 67 | noinst_PROGRAMS = |
65e8ba4d | 68 | TESTS = |
f930341d LD |
69 | |
70 | if BUILD_BITCOIND | |
5166804f | 71 | bin_PROGRAMS += komodod |
f930341d LD |
72 | endif |
73 | ||
c101c769 | 74 | if BUILD_BITCOIN_UTILS |
4d65d051 | 75 | bin_PROGRAMS += komodo-cli komodo-tx |
f930341d | 76 | endif |
35b8af92 | 77 | |
1785bdb9 | 78 | LIBZCASH_H = \ |
c06664fb | 79 | zcash/IncrementalMerkleTree.hpp \ |
6c36a9fe | 80 | zcash/NoteEncryption.hpp \ |
369df065 SB |
81 | zcash/Address.hpp \ |
82 | zcash/JoinSplit.hpp \ | |
83 | zcash/Note.hpp \ | |
81469bbb | 84 | zcash/prf.h \ |
9ffe371d | 85 | zcash/Proof.hpp \ |
cc552e4d KG |
86 | zcash/util.h \ |
87 | zcash/Zcash.h | |
e463edc1 | 88 | |
a5e918a0 | 89 | .PHONY: FORCE check-symbols check-security |
35b8af92 | 90 | # bitcoin core # |
5a407bd0 WL |
91 | BITCOIN_CORE_H = \ |
92 | addrman.h \ | |
93 | alert.h \ | |
a372168e | 94 | amount.h \ |
bfc60703 | 95 | arith_uint256.h \ |
fc72c078 S |
96 | asyncrpcoperation.h \ |
97 | asyncrpcqueue.h \ | |
7cd0af7c | 98 | base58.h \ |
5a407bd0 | 99 | bloom.h \ |
e8b5f0d5 | 100 | chain.h \ |
bfc60703 | 101 | chainparams.h \ |
ff734e90 | 102 | chainparamsbase.h \ |
a60120e9 | 103 | chainparamsseeds.h \ |
5a407bd0 WL |
104 | checkpoints.h \ |
105 | checkqueue.h \ | |
106 | clientversion.h \ | |
107 | coincontrol.h \ | |
108 | coins.h \ | |
109 | compat.h \ | |
ff734e90 JT |
110 | compat/byteswap.h \ |
111 | compat/endian.h \ | |
112 | compat/sanity.h \ | |
561e9e9d | 113 | compressor.h \ |
691161d4 | 114 | consensus/consensus.h \ |
bd006110 | 115 | consensus/params.h \ |
da29ecbc | 116 | consensus/validation.h \ |
ae775b5b | 117 | core_io.h \ |
6bd1d60c | 118 | core_memusage.h \ |
900078ae | 119 | eccryptoverify.h \ |
50f71cd5 | 120 | ecwrapper.h \ |
5a407bd0 | 121 | hash.h \ |
afd64f76 WL |
122 | httprpc.h \ |
123 | httpserver.h \ | |
5a407bd0 WL |
124 | init.h \ |
125 | key.h \ | |
126 | keystore.h \ | |
127 | leveldbwrapper.h \ | |
128 | limitedmap.h \ | |
129 | main.h \ | |
540629c6 | 130 | memusage.h \ |
afd4b94b | 131 | merkleblock.h \ |
a6df7ab5 | 132 | metrics.h \ |
5a407bd0 WL |
133 | miner.h \ |
134 | mruset.h \ | |
5a407bd0 | 135 | net.h \ |
ff734e90 | 136 | netbase.h \ |
5a407bd0 | 137 | noui.h \ |
b649e039 | 138 | policy/fees.h \ |
df852d2b | 139 | pow.h \ |
bfc60703 WL |
140 | primitives/block.h \ |
141 | primitives/transaction.h \ | |
5a407bd0 | 142 | protocol.h \ |
d2e74c55 | 143 | pubkey.h \ |
6354935c | 144 | random.h \ |
6b51b9b1 | 145 | reverselock.h \ |
fb78cc23 WL |
146 | rpcclient.h \ |
147 | rpcprotocol.h \ | |
148 | rpcserver.h \ | |
928b950e | 149 | scheduler.h \ |
611116d4 | 150 | script/interpreter.h \ |
cbd22a50 | 151 | script/script.h \ |
ff734e90 | 152 | script/script_error.h \ |
5c1e798a | 153 | script/sigcache.h \ |
e088d65a | 154 | script/sign.h \ |
c4408a6c | 155 | script/standard.h \ |
5a407bd0 | 156 | serialize.h \ |
fa736190 | 157 | streams.h \ |
d7d187e8 CF |
158 | support/allocators/secure.h \ |
159 | support/allocators/zeroafterfree.h \ | |
1630219d | 160 | support/cleanse.h \ |
17fb6090 | 161 | support/events.h \ |
d7d187e8 | 162 | support/pagelocker.h \ |
5a407bd0 WL |
163 | sync.h \ |
164 | threadsafety.h \ | |
14f888ca | 165 | timedata.h \ |
b77dfdc9 | 166 | tinyformat.h \ |
eb5f63fe | 167 | torcontrol.h \ |
5a407bd0 WL |
168 | txdb.h \ |
169 | txmempool.h \ | |
170 | ui_interface.h \ | |
171 | uint256.h \ | |
defe37a6 | 172 | uint252.h \ |
999a2ab4 | 173 | undo.h \ |
5a407bd0 | 174 | util.h \ |
ad49c256 | 175 | utilmoneystr.h \ |
bfc60703 | 176 | utilstrencodings.h \ |
ad49c256 | 177 | utiltime.h \ |
26c16d9d | 178 | validationinterface.h \ |
5a407bd0 | 179 | version.h \ |
fc72c078 | 180 | wallet/asyncrpcoperation_sendmany.h \ |
a354a59f | 181 | wallet/crypter.h \ |
ff734e90 | 182 | wallet/db.h \ |
50c72f23 JS |
183 | wallet/wallet.h \ |
184 | wallet/wallet_ismine.h \ | |
f200002c JG |
185 | wallet/walletdb.h \ |
186 | zmq/zmqabstractnotifier.h \ | |
187 | zmq/zmqconfig.h\ | |
188 | zmq/zmqnotificationinterface.h \ | |
189 | zmq/zmqpublishnotifier.h | |
190 | ||
35b8af92 CF |
191 | |
192 | obj/build.h: FORCE | |
56c157d5 | 193 | @$(MKDIR_P) $(builddir)/obj |
35b8af92 CF |
194 | @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ |
195 | $(abs_top_srcdir) | |
71697f97 | 196 | libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h |
35b8af92 | 197 | |
38ba3c66 | 198 | # server: zcashd |
df377ca8 | 199 | libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) |
4f9e993b | 200 | libbitcoin_server_a_SOURCES = \ |
b39e1bdb | 201 | sendalert.cpp \ |
4f9e993b WL |
202 | addrman.cpp \ |
203 | alert.cpp \ | |
7553b173 | 204 | alertkeys.h \ |
fc72c078 S |
205 | asyncrpcoperation.cpp \ |
206 | asyncrpcqueue.cpp \ | |
fb78cc23 | 207 | bloom.cpp \ |
e8b5f0d5 | 208 | chain.cpp \ |
4f9e993b | 209 | checkpoints.cpp \ |
afd64f76 WL |
210 | httprpc.cpp \ |
211 | httpserver.cpp \ | |
4f9e993b | 212 | init.cpp \ |
4f9e993b WL |
213 | leveldbwrapper.cpp \ |
214 | main.cpp \ | |
afd4b94b | 215 | merkleblock.cpp \ |
a6df7ab5 | 216 | metrics.cpp \ |
4a85e067 | 217 | miner.cpp \ |
4f9e993b WL |
218 | net.cpp \ |
219 | noui.cpp \ | |
b649e039 | 220 | policy/fees.cpp \ |
df852d2b | 221 | pow.cpp \ |
e2655e0a | 222 | rest.cpp \ |
4f9e993b | 223 | rpcblockchain.cpp \ |
4a85e067 | 224 | rpcmining.cpp \ |
652e1569 | 225 | rpcmisc.cpp \ |
4f9e993b WL |
226 | rpcnet.cpp \ |
227 | rpcrawtransaction.cpp \ | |
dfd39962 | 228 | rpcserver.cpp \ |
bfe029fe | 229 | script/sigcache.cpp \ |
14f888ca | 230 | timedata.cpp \ |
eb5f63fe | 231 | torcontrol.cpp \ |
4f9e993b WL |
232 | txdb.cpp \ |
233 | txmempool.cpp \ | |
26c16d9d | 234 | validationinterface.cpp \ |
e463edc1 | 235 | $(BITCOIN_CORE_H) \ |
1785bdb9 | 236 | $(LIBZCASH_H) |
4f9e993b | 237 | |
f200002c JG |
238 | if ENABLE_ZMQ |
239 | LIBBITCOIN_ZMQ=libbitcoin_zmq.a | |
240 | ||
007148fa | 241 | libbitcoin_zmq_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(ZMQ_CFLAGS) |
f200002c JG |
242 | libbitcoin_zmq_a_SOURCES = \ |
243 | zmq/zmqabstractnotifier.cpp \ | |
244 | zmq/zmqnotificationinterface.cpp \ | |
245 | zmq/zmqpublishnotifier.cpp | |
246 | endif | |
247 | ||
248 | ||
38ba3c66 | 249 | # wallet: zcashd, but only linked when wallet enabled |
f4d81129 | 250 | libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
4f9e993b | 251 | libbitcoin_wallet_a_SOURCES = \ |
0bb3d40f JG |
252 | utiltest.cpp \ |
253 | utiltest.h \ | |
6962bb3d | 254 | zcbenchmarks.cpp \ |
2f3ecb44 | 255 | zcbenchmarks.h \ |
fc72c078 | 256 | wallet/asyncrpcoperation_sendmany.cpp \ |
a354a59f | 257 | wallet/crypter.cpp \ |
50c72f23 | 258 | wallet/db.cpp \ |
50c72f23 JS |
259 | wallet/rpcdump.cpp \ |
260 | wallet/rpcwallet.cpp \ | |
261 | wallet/wallet.cpp \ | |
262 | wallet/wallet_ismine.cpp \ | |
263 | wallet/walletdb.cpp \ | |
e463edc1 | 264 | $(BITCOIN_CORE_H) \ |
1785bdb9 | 265 | $(LIBZCASH_H) |
0b47fe6b | 266 | |
84ce18ca | 267 | # crypto primitives library |
2cc0a252 | 268 | crypto_libbitcoin_crypto_a_CPPFLAGS = $(BITCOIN_CONFIG_INCLUDES) |
4791b99e | 269 | crypto_libbitcoin_crypto_a_SOURCES = \ |
4791b99e | 270 | crypto/common.h \ |
6d25662f JG |
271 | crypto/equihash.cpp \ |
272 | crypto/equihash.h \ | |
60157808 | 273 | crypto/equihash.tcc \ |
ff734e90 | 274 | crypto/hmac_sha256.cpp \ |
a8f5087e | 275 | crypto/hmac_sha256.h \ |
ff734e90 | 276 | crypto/hmac_sha512.cpp \ |
36fa4a78 | 277 | crypto/hmac_sha512.h \ |
ff734e90 JT |
278 | crypto/ripemd160.cpp \ |
279 | crypto/ripemd160.h \ | |
280 | crypto/sha1.cpp \ | |
4791b99e | 281 | crypto/sha1.h \ |
ff734e90 JT |
282 | crypto/sha256.cpp \ |
283 | crypto/sha256.h \ | |
284 | crypto/sha512.cpp \ | |
2cc0a252 | 285 | crypto/sha512.h |
4791b99e | 286 | |
2cc0a252 JG |
287 | if ENABLE_MINING |
288 | EQUIHASH_TROMP_SOURCES = \ | |
289 | pow/tromp/equi_miner.h \ | |
290 | pow/tromp/equi.h \ | |
291 | pow/tromp/osx_barrier.h | |
cbe39a38 | 292 | |
2cc0a252 JG |
293 | crypto_libbitcoin_crypto_a_CPPFLAGS += \ |
294 | -DEQUIHASH_TROMP_ATOMIC | |
295 | crypto_libbitcoin_crypto_a_SOURCES += \ | |
c7aaab7a | 296 | ${EQUIHASH_TROMP_SOURCES} |
2cc0a252 | 297 | endif |
4791b99e | 298 | |
38ba3c66 | 299 | # common: shared between zcashd and non-server tools |
f4d81129 | 300 | libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
0b47fe6b | 301 | libbitcoin_common_a_SOURCES = \ |
eda37330 | 302 | amount.cpp \ |
ff734e90 | 303 | arith_uint256.cpp \ |
75c82d49 | 304 | base58.cpp \ |
0b47fe6b | 305 | chainparams.cpp \ |
75c82d49 | 306 | coins.cpp \ |
561e9e9d | 307 | compressor.cpp \ |
ae775b5b JG |
308 | core_read.cpp \ |
309 | core_write.cpp \ | |
900078ae | 310 | eccryptoverify.cpp \ |
50f71cd5 | 311 | ecwrapper.cpp \ |
0b47fe6b WL |
312 | hash.cpp \ |
313 | key.cpp \ | |
75c82d49 | 314 | keystore.cpp \ |
0b47fe6b | 315 | netbase.cpp \ |
ff734e90 JT |
316 | primitives/block.cpp \ |
317 | primitives/transaction.cpp \ | |
0b47fe6b | 318 | protocol.cpp \ |
d2e74c55 | 319 | pubkey.cpp \ |
928b950e | 320 | scheduler.cpp \ |
611116d4 | 321 | script/interpreter.cpp \ |
cbd22a50 | 322 | script/script.cpp \ |
ff734e90 | 323 | script/script_error.cpp \ |
e088d65a | 324 | script/sign.cpp \ |
c4408a6c | 325 | script/standard.cpp \ |
e463edc1 | 326 | $(BITCOIN_CORE_H) \ |
1785bdb9 | 327 | $(LIBZCASH_H) |
84ce18ca WL |
328 | |
329 | # util: shared between all executables. | |
330 | # This library *must* be included to make sure that the glibc | |
331 | # backward-compatibility objects and their sanity checks are linked. | |
332 | libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) | |
333 | libbitcoin_util_a_SOURCES = \ | |
d7d187e8 | 334 | support/pagelocker.cpp \ |
84ce18ca | 335 | chainparamsbase.cpp \ |
71697f97 | 336 | clientversion.cpp \ |
bfc60703 WL |
337 | compat/glibc_sanity.cpp \ |
338 | compat/glibcxx_sanity.cpp \ | |
339 | compat/strnlen.cpp \ | |
6354935c | 340 | random.cpp \ |
84ce18ca | 341 | rpcprotocol.cpp \ |
1630219d | 342 | support/cleanse.cpp \ |
0b47fe6b | 343 | sync.cpp \ |
de79aaa7 | 344 | uint256.cpp \ |
0b47fe6b | 345 | util.cpp \ |
ad49c256 | 346 | utilmoneystr.cpp \ |
bfc60703 | 347 | utilstrencodings.cpp \ |
ad49c256 | 348 | utiltime.cpp \ |
e463edc1 | 349 | $(BITCOIN_CORE_H) \ |
1785bdb9 | 350 | $(LIBZCASH_H) |
35b8af92 | 351 | |
d5aab704 | 352 | if GLIBC_BACK_COMPAT |
84ce18ca | 353 | libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp |
d5aab704 CF |
354 | endif |
355 | ||
38ba3c66 | 356 | # cli: zcash-cli |
a65668dd | 357 | libbitcoin_cli_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
0b47fe6b WL |
358 | libbitcoin_cli_a_SOURCES = \ |
359 | rpcclient.cpp \ | |
e463edc1 | 360 | $(BITCOIN_CORE_H) \ |
1785bdb9 | 361 | $(LIBZCASH_H) |
0b47fe6b | 362 | |
84ce18ca | 363 | nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h |
35b8af92 CF |
364 | # |
365 | ||
366 | # bitcoind binary # | |
5166804f | 367 | komodod_SOURCES = bitcoind.cpp |
368 | komodod_CPPFLAGS = $(BITCOIN_INCLUDES) | |
369 | komodod_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) | |
72ac792b | 370 | |
371 | if TARGET_WINDOWS | |
5166804f | 372 | komodod_SOURCES += bitcoind-res.rc |
72ac792b | 373 | endif |
374 | ||
5166804f | 375 | komodod_LDADD = \ |
84ce18ca WL |
376 | $(LIBBITCOIN_SERVER) \ |
377 | $(LIBBITCOIN_COMMON) \ | |
a10a6e2a | 378 | $(LIBUNIVALUE) \ |
84ce18ca WL |
379 | $(LIBBITCOIN_UTIL) \ |
380 | $(LIBBITCOIN_CRYPTO) \ | |
1785bdb9 | 381 | $(LIBZCASH) \ |
4a290b52 | 382 | $(LIBLEVELDB) \ |
07a99017 PW |
383 | $(LIBMEMENV) \ |
384 | $(LIBSECP256K1) | |
55668266 | 385 | |
f200002c | 386 | if ENABLE_ZMQ |
bcba24d1 | 387 | komodod_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) |
f200002c JG |
388 | endif |
389 | ||
4f9e993b | 390 | if ENABLE_WALLET |
5166804f | 391 | komodod_LDADD += libbitcoin_wallet.a |
4f9e993b | 392 | endif |
72ac792b | 393 | |
5166804f | 394 | komodod_LDADD += \ |
c4da0970 NW |
395 | $(BOOST_LIBS) \ |
396 | $(BDB_LIBS) \ | |
397 | $(SSL_LIBS) \ | |
398 | $(CRYPTO_LIBS) \ | |
399 | $(MINIUPNPC_LIBS) \ | |
df377ca8 WL |
400 | $(EVENT_PTHREADS_LIBS) \ |
401 | $(EVENT_LIBS) \ | |
1785bdb9 | 402 | $(LIBZCASH) \ |
d3612b1c | 403 | $(LIBBITCOIN_CRYPTO) \ |
1785bdb9 | 404 | $(LIBZCASH_LIBS) |
35b8af92 | 405 | |
72ac792b | 406 | # bitcoin-cli binary # |
5166804f | 407 | komodo_cli_SOURCES = bitcoin-cli.cpp |
945f015d | 408 | komodo_cli_CPPFLAGS = $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) |
5166804f | 409 | komodo_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) |
72ac792b | 410 | |
dee632cc | 411 | if TARGET_WINDOWS |
5166804f | 412 | komodo_cli_SOURCES += bitcoin-cli-res.rc |
dee632cc CF |
413 | endif |
414 | ||
5166804f | 415 | komodo_cli_LDADD = \ |
84ce18ca | 416 | $(LIBBITCOIN_CLI) \ |
a10a6e2a | 417 | $(LIBUNIVALUE) \ |
c4da0970 NW |
418 | $(LIBBITCOIN_UTIL) \ |
419 | $(BOOST_LIBS) \ | |
420 | $(SSL_LIBS) \ | |
421 | $(CRYPTO_LIBS) \ | |
df377ca8 | 422 | $(EVENT_LIBS) \ |
1785bdb9 | 423 | $(LIBZCASH) \ |
d3612b1c | 424 | $(LIBBITCOIN_CRYPTO) \ |
1785bdb9 | 425 | $(LIBZCASH_LIBS) |
2a03a390 WL |
426 | # |
427 | ||
66a89c08 | 428 | # zcash-tx binary # |
4d65d051 | 429 | komodo_tx_SOURCES = komodo-tx.cpp |
430 | komodo_tx_CPPFLAGS = $(BITCOIN_INCLUDES) | |
431 | komodo_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) | |
72ac792b | 432 | |
cc24610f | 433 | if TARGET_WINDOWS |
4d65d051 | 434 | komodo_tx_SOURCES += bitcoin-tx-res.rc |
cc24610f LD |
435 | endif |
436 | ||
66a89c08 | 437 | # FIXME: Is libzcash needed for zcash_tx? |
4d65d051 | 438 | komodo_tx_LDADD = \ |
a10a6e2a | 439 | $(LIBUNIVALUE) \ |
cbe39a38 JG |
440 | $(LIBBITCOIN_COMMON) \ |
441 | $(LIBBITCOIN_UTIL) \ | |
c4da0970 | 442 | $(LIBSECP256K1) \ |
1785bdb9 | 443 | $(LIBZCASH) \ |
d3612b1c | 444 | $(LIBBITCOIN_CRYPTO) \ |
1785bdb9 | 445 | $(LIBZCASH_LIBS) |
28d412ff | 446 | |
4d65d051 | 447 | komodo_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) |
cbe39a38 | 448 | # |
2a03a390 | 449 | |
c9c4611d | 450 | # zcash protocol primitives # |
1785bdb9 | 451 | libzcash_a_SOURCES = \ |
e1ff849d | 452 | zcash/IncrementalMerkleTree.cpp \ |
6c36a9fe | 453 | zcash/NoteEncryption.cpp \ |
369df065 SB |
454 | zcash/Address.cpp \ |
455 | zcash/JoinSplit.cpp \ | |
f0dab51c | 456 | zcash/Proof.cpp \ |
369df065 | 457 | zcash/Note.cpp \ |
81469bbb | 458 | zcash/prf.cpp \ |
58d09f27 KG |
459 | zcash/util.cpp \ |
460 | zcash/circuit/commitment.tcc \ | |
461 | zcash/circuit/gadget.tcc \ | |
462 | zcash/circuit/merkle.tcc \ | |
463 | zcash/circuit/note.tcc \ | |
464 | zcash/circuit/prfs.tcc \ | |
465 | zcash/circuit/utils.tcc | |
e463edc1 | 466 | |
f5d3d420 TH |
467 | libzcash_a_CPPFLAGS = -DMULTICORE -fopenmp -fPIC -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS $(HARDENED_CPPFLAGS) -pipe -O1 -g -Wstack-protector -fstack-protector-all -fPIE -fvisibility=hidden -DSTATIC $(BITCOIN_INCLUDES) |
468 | ||
469 | libzcash_a_CXXFLAGS = $(HARDENED_CXXFLAGS) -fwrapv -fno-strict-aliasing | |
470 | ||
04b02380 | 471 | #libzcash_a_LDFLAGS = $(HARDENED_LDFLAGS) |
e463edc1 | 472 | |
decde386 SB |
473 | libzcash_a_CPPFLAGS += -DMONTGOMERY_OUTPUT |
474 | ||
08d6b02d | 475 | # zcashconsensus library # |
2cf5f16c | 476 | if BUILD_BITCOIN_LIBS |
08d6b02d JG |
477 | include_HEADERS = script/zcashconsensus.h |
478 | libzcashconsensus_la_SOURCES = \ | |
6d25662f | 479 | crypto/equihash.cpp \ |
36fa4a78 | 480 | crypto/hmac_sha512.cpp \ |
bfc60703 | 481 | crypto/ripemd160.cpp \ |
2cf5f16c | 482 | crypto/sha1.cpp \ |
36fa4a78 PW |
483 | crypto/sha256.cpp \ |
484 | crypto/sha512.cpp \ | |
2cf5f16c CF |
485 | eccryptoverify.cpp \ |
486 | ecwrapper.cpp \ | |
487 | hash.cpp \ | |
bfc60703 | 488 | primitives/transaction.cpp \ |
2cf5f16c | 489 | pubkey.cpp \ |
08d6b02d | 490 | script/zcashconsensus.cpp \ |
bfc60703 WL |
491 | script/interpreter.cpp \ |
492 | script/script.cpp \ | |
2cf5f16c CF |
493 | uint256.cpp \ |
494 | utilstrencodings.cpp | |
495 | ||
496 | if GLIBC_BACK_COMPAT | |
08d6b02d | 497 | libzcashconsensus_la_SOURCES += compat/glibc_compat.cpp |
2cf5f16c CF |
498 | endif |
499 | ||
08d6b02d JG |
500 | libzcashconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS) |
501 | libzcashconsensus_la_LIBADD = $(CRYPTO_LIBS) | |
502 | libzcashconsensus_la_CPPFLAGS = $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL | |
72ac792b | 503 | |
cdd36c6c | 504 | endif |
72ac792b | 505 | # |
2cf5f16c | 506 | |
9773b95f | 507 | CLEANFILES = leveldb/libleveldb.a leveldb/libmemenv.a *.gcda *.gcno */*.gcno wallet/*/*.gcno |
35b8af92 CF |
508 | |
509 | DISTCLEANFILES = obj/build.h | |
510 | ||
4ec57478 | 511 | EXTRA_DIST = leveldb |
35b8af92 CF |
512 | |
513 | clean-local: | |
514 | -$(MAKE) -C leveldb clean | |
4300876c | 515 | -$(MAKE) -C secp256k1 clean |
26d1b65c | 516 | rm -f leveldb/*/*.gcno leveldb/helpers/memenv/*.gcno |
54372482 | 517 | -rm -f config.h |
65e8ba4d | 518 | |
6b9f0d55 | 519 | .rc.o: |
70c71c50 | 520 | @test -f $(WINDRES) |
71697f97 | 521 | $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ |
6b9f0d55 CF |
522 | |
523 | .mm.o: | |
70c71c50 | 524 | $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ |
38ba3c66 | 525 | $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o $@ $< |
6b9f0d55 | 526 | |
a5e918a0 CF |
527 | check-symbols: $(bin_PROGRAMS) |
528 | if GLIBC_BACK_COMPAT | |
529 | @echo "Checking glibc back compat of [$(bin_PROGRAMS)]..." | |
530 | $(AM_V_at) READELF=$(READELF) CPPFILT=$(CPPFILT) $(top_srcdir)/contrib/devtools/symbol-check.py < $(bin_PROGRAMS) | |
531 | endif | |
532 | ||
56734f4b TH |
533 | check-security: $(bin_PROGRAMS) |
534 | if HARDEN | |
535 | @echo "Checking binary security of [$(bin_PROGRAMS)]..." | |
536 | $(AM_V_at) READELF=$(READELF) OBJDUMP=$(OBJDUMP) $(top_srcdir)/contrib/devtools/security-check.py < $(bin_PROGRAMS) | |
537 | endif | |
538 | ||
6b9f0d55 | 539 | %.pb.cc %.pb.h: %.proto |
70c71c50 CF |
540 | @test -f $(PROTOC) |
541 | $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $(<D) $<) | |
6b9f0d55 | 542 | |
8962d040 | 543 | #if ENABLE_TESTS |
544 | #include Makefile.test.include | |
545 | #include Makefile.gtest.include | |
546 | #endif | |
65e8ba4d | 547 | |
6e96cf08 | 548 | include Makefile.zcash.include |