]>
Commit | Line | Data |
---|---|---|
4300876c | 1 | DIST_SUBDIRS = secp256k1 |
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 |
55668266 | 24 | |
84ce18ca WL |
25 | LIBBITCOIN_SERVER=libbitcoin_server.a |
26 | LIBBITCOIN_WALLET=libbitcoin_wallet.a | |
27 | LIBBITCOIN_COMMON=libbitcoin_common.a | |
28 | LIBBITCOIN_CLI=libbitcoin_cli.a | |
29 | LIBBITCOIN_UTIL=libbitcoin_util.a | |
30 | LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a | |
cbe39a38 | 31 | LIBBITCOIN_UNIVALUE=univalue/libbitcoin_univalue.a |
84ce18ca | 32 | LIBBITCOINQT=qt/libbitcoinqt.a |
07a99017 | 33 | LIBSECP256K1=secp256k1/libsecp256k1.la |
e463edc1 | 34 | LIBZEROCASH=libzerocash.a |
07a99017 PW |
35 | |
36 | $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) | |
4300876c | 37 | $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) |
84ce18ca | 38 | |
071473c5 | 39 | # Make is not made aware of per-object dependencies to avoid limiting building parallelization |
40 | # But to build the less dependent modules first, we manually select their order here: | |
fe925e22 | 41 | EXTRA_LIBRARIES = \ |
071473c5 | 42 | crypto/libbitcoin_crypto.a \ |
84ce18ca | 43 | libbitcoin_util.a \ |
071473c5 | 44 | libbitcoin_common.a \ |
cbe39a38 | 45 | univalue/libbitcoin_univalue.a \ |
071473c5 | 46 | libbitcoin_server.a \ |
e463edc1 SB |
47 | libbitcoin_cli.a \ |
48 | libzerocash.a | |
4f9e993b | 49 | if ENABLE_WALLET |
f4d81129 | 50 | BITCOIN_INCLUDES += $(BDB_CPPFLAGS) |
fe925e22 | 51 | EXTRA_LIBRARIES += libbitcoin_wallet.a |
4f9e993b | 52 | endif |
35b8af92 | 53 | |
cdd36c6c | 54 | if BUILD_BITCOIN_LIBS |
2cf5f16c | 55 | lib_LTLIBRARIES = libbitcoinconsensus.la |
cdd36c6c CF |
56 | LIBBITCOIN_CONSENSUS=libbitcoinconsensus.la |
57 | else | |
58 | LIBBITCOIN_CONSENSUS= | |
59 | endif | |
2cf5f16c | 60 | |
f930341d | 61 | bin_PROGRAMS = |
65e8ba4d | 62 | TESTS = |
f930341d LD |
63 | |
64 | if BUILD_BITCOIND | |
8a183335 | 65 | bin_PROGRAMS += zcashd |
f930341d LD |
66 | endif |
67 | ||
c101c769 | 68 | if BUILD_BITCOIN_UTILS |
8a183335 | 69 | bin_PROGRAMS += zcash-cli bitcoin-tx |
f930341d | 70 | endif |
35b8af92 | 71 | |
e1ff849d | 72 | # TODO: rename to libzcash |
e463edc1 | 73 | LIBZEROCASH_H = \ |
e1ff849d | 74 | zcash/IncrementalMerkleTree.h \ |
e463edc1 SB |
75 | zerocash/Address.h \ |
76 | zerocash/CoinCommitment.h \ | |
77 | zerocash/Coin.h \ | |
78 | zerocash/IncrementalMerkleTree.h \ | |
79 | zerocash/MintTransaction.h \ | |
80 | zerocash/PourInput.h \ | |
81 | zerocash/PourOutput.h \ | |
82 | zerocash/PourProver.h \ | |
83 | zerocash/PourTransaction.h \ | |
84 | zerocash/Zerocash.h \ | |
85 | zerocash/ZerocashParams.h \ | |
86 | zerocash/zerocash_pour_params.hpp \ | |
6c36a9fe SB |
87 | zerocash/utils/util.h \ |
88 | zcash/NoteEncryption.hpp \ | |
369df065 SB |
89 | zcash/Address.hpp \ |
90 | zcash/JoinSplit.hpp \ | |
91 | zcash/Note.hpp \ | |
6c36a9fe | 92 | zcash/prf.h |
e463edc1 | 93 | |
35b8af92 CF |
94 | .PHONY: FORCE |
95 | # bitcoin core # | |
5a407bd0 WL |
96 | BITCOIN_CORE_H = \ |
97 | addrman.h \ | |
98 | alert.h \ | |
a372168e | 99 | amount.h \ |
bfc60703 | 100 | arith_uint256.h \ |
7cd0af7c | 101 | base58.h \ |
5a407bd0 | 102 | bloom.h \ |
e8b5f0d5 | 103 | chain.h \ |
bfc60703 | 104 | chainparams.h \ |
ff734e90 | 105 | chainparamsbase.h \ |
a60120e9 | 106 | chainparamsseeds.h \ |
5a407bd0 WL |
107 | checkpoints.h \ |
108 | checkqueue.h \ | |
109 | clientversion.h \ | |
110 | coincontrol.h \ | |
111 | coins.h \ | |
112 | compat.h \ | |
ff734e90 JT |
113 | compat/byteswap.h \ |
114 | compat/endian.h \ | |
115 | compat/sanity.h \ | |
561e9e9d | 116 | compressor.h \ |
691161d4 | 117 | consensus/consensus.h \ |
bd006110 | 118 | consensus/params.h \ |
da29ecbc | 119 | consensus/validation.h \ |
ae775b5b | 120 | core_io.h \ |
900078ae | 121 | eccryptoverify.h \ |
50f71cd5 | 122 | ecwrapper.h \ |
5a407bd0 WL |
123 | hash.h \ |
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 \ |
5a407bd0 WL |
132 | miner.h \ |
133 | mruset.h \ | |
5a407bd0 | 134 | net.h \ |
ff734e90 | 135 | netbase.h \ |
5a407bd0 | 136 | noui.h \ |
b649e039 | 137 | policy/fees.h \ |
df852d2b | 138 | pow.h \ |
bfc60703 WL |
139 | primitives/block.h \ |
140 | primitives/transaction.h \ | |
5a407bd0 | 141 | protocol.h \ |
d2e74c55 | 142 | pubkey.h \ |
6354935c | 143 | random.h \ |
6b51b9b1 | 144 | reverselock.h \ |
fb78cc23 WL |
145 | rpcclient.h \ |
146 | rpcprotocol.h \ | |
147 | rpcserver.h \ | |
928b950e | 148 | scheduler.h \ |
611116d4 | 149 | script/interpreter.h \ |
cbd22a50 | 150 | script/script.h \ |
ff734e90 | 151 | script/script_error.h \ |
5c1e798a | 152 | script/sigcache.h \ |
e088d65a | 153 | script/sign.h \ |
c4408a6c | 154 | script/standard.h \ |
5a407bd0 | 155 | serialize.h \ |
fa736190 | 156 | streams.h \ |
d7d187e8 CF |
157 | support/allocators/secure.h \ |
158 | support/allocators/zeroafterfree.h \ | |
1630219d | 159 | support/cleanse.h \ |
d7d187e8 | 160 | support/pagelocker.h \ |
5a407bd0 WL |
161 | sync.h \ |
162 | threadsafety.h \ | |
14f888ca | 163 | timedata.h \ |
b77dfdc9 | 164 | tinyformat.h \ |
5a407bd0 WL |
165 | txdb.h \ |
166 | txmempool.h \ | |
167 | ui_interface.h \ | |
168 | uint256.h \ | |
999a2ab4 | 169 | undo.h \ |
5a407bd0 | 170 | util.h \ |
ad49c256 | 171 | utilmoneystr.h \ |
bfc60703 | 172 | utilstrencodings.h \ |
ad49c256 | 173 | utiltime.h \ |
26c16d9d | 174 | validationinterface.h \ |
5a407bd0 | 175 | version.h \ |
a354a59f | 176 | wallet/crypter.h \ |
ff734e90 | 177 | wallet/db.h \ |
50c72f23 JS |
178 | wallet/wallet.h \ |
179 | wallet/wallet_ismine.h \ | |
ff734e90 | 180 | wallet/walletdb.h |
5a407bd0 WL |
181 | |
182 | JSON_H = \ | |
183 | json/json_spirit.h \ | |
184 | json/json_spirit_error_position.h \ | |
185 | json/json_spirit_reader.h \ | |
186 | json/json_spirit_reader_template.h \ | |
187 | json/json_spirit_stream_reader.h \ | |
188 | json/json_spirit_utils.h \ | |
189 | json/json_spirit_value.h \ | |
190 | json/json_spirit_writer.h \ | |
35b8af92 CF |
191 | json/json_spirit_writer_template.h |
192 | ||
193 | obj/build.h: FORCE | |
56c157d5 | 194 | @$(MKDIR_P) $(builddir)/obj |
35b8af92 CF |
195 | @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ |
196 | $(abs_top_srcdir) | |
71697f97 | 197 | libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h |
35b8af92 | 198 | |
84ce18ca | 199 | # server: shared between bitcoind and bitcoin-qt |
9f7f504e | 200 | libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) |
4f9e993b WL |
201 | libbitcoin_server_a_SOURCES = \ |
202 | addrman.cpp \ | |
203 | alert.cpp \ | |
fb78cc23 | 204 | bloom.cpp \ |
e8b5f0d5 | 205 | chain.cpp \ |
4f9e993b | 206 | checkpoints.cpp \ |
4f9e993b | 207 | init.cpp \ |
4f9e993b WL |
208 | leveldbwrapper.cpp \ |
209 | main.cpp \ | |
afd4b94b | 210 | merkleblock.cpp \ |
4a85e067 | 211 | miner.cpp \ |
4f9e993b WL |
212 | net.cpp \ |
213 | noui.cpp \ | |
b649e039 | 214 | policy/fees.cpp \ |
df852d2b | 215 | pow.cpp \ |
e2655e0a | 216 | rest.cpp \ |
4f9e993b | 217 | rpcblockchain.cpp \ |
4a85e067 | 218 | rpcmining.cpp \ |
652e1569 | 219 | rpcmisc.cpp \ |
4f9e993b WL |
220 | rpcnet.cpp \ |
221 | rpcrawtransaction.cpp \ | |
dfd39962 | 222 | rpcserver.cpp \ |
bfe029fe | 223 | script/sigcache.cpp \ |
14f888ca | 224 | timedata.cpp \ |
4f9e993b WL |
225 | txdb.cpp \ |
226 | txmempool.cpp \ | |
26c16d9d | 227 | validationinterface.cpp \ |
4f9e993b | 228 | $(JSON_H) \ |
e463edc1 SB |
229 | $(BITCOIN_CORE_H) \ |
230 | $(LIBZEROCASH_H) | |
4f9e993b | 231 | |
84ce18ca WL |
232 | # wallet: shared between bitcoind and bitcoin-qt, but only linked |
233 | # when wallet enabled | |
f4d81129 | 234 | libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
4f9e993b | 235 | libbitcoin_wallet_a_SOURCES = \ |
6962bb3d | 236 | zcbenchmarks.cpp \ |
a354a59f | 237 | wallet/crypter.cpp \ |
50c72f23 | 238 | wallet/db.cpp \ |
50c72f23 JS |
239 | wallet/rpcdump.cpp \ |
240 | wallet/rpcwallet.cpp \ | |
241 | wallet/wallet.cpp \ | |
242 | wallet/wallet_ismine.cpp \ | |
243 | wallet/walletdb.cpp \ | |
e463edc1 SB |
244 | $(BITCOIN_CORE_H) \ |
245 | $(LIBZEROCASH_H) | |
0b47fe6b | 246 | |
84ce18ca | 247 | # crypto primitives library |
4791b99e CF |
248 | crypto_libbitcoin_crypto_a_CPPFLAGS = $(BITCOIN_CONFIG_INCLUDES) |
249 | crypto_libbitcoin_crypto_a_SOURCES = \ | |
4791b99e | 250 | crypto/common.h \ |
6d25662f JG |
251 | crypto/equihash.cpp \ |
252 | crypto/equihash.h \ | |
ff734e90 | 253 | crypto/hmac_sha256.cpp \ |
a8f5087e | 254 | crypto/hmac_sha256.h \ |
ff734e90 | 255 | crypto/hmac_sha512.cpp \ |
36fa4a78 | 256 | crypto/hmac_sha512.h \ |
ff734e90 JT |
257 | crypto/ripemd160.cpp \ |
258 | crypto/ripemd160.h \ | |
259 | crypto/sha1.cpp \ | |
4791b99e | 260 | crypto/sha1.h \ |
ff734e90 JT |
261 | crypto/sha256.cpp \ |
262 | crypto/sha256.h \ | |
263 | crypto/sha512.cpp \ | |
264 | crypto/sha512.h | |
4791b99e | 265 | |
cbe39a38 JG |
266 | # univalue JSON library |
267 | univalue_libbitcoin_univalue_a_SOURCES = \ | |
268 | univalue/univalue.cpp \ | |
ff734e90 | 269 | univalue/univalue.h \ |
3cceba7a | 270 | univalue/univalue_escapes.h \ |
ff734e90 JT |
271 | univalue/univalue_read.cpp \ |
272 | univalue/univalue_write.cpp | |
cbe39a38 | 273 | |
84ce18ca | 274 | # common: shared between bitcoind, and bitcoin-qt and non-server tools |
f4d81129 | 275 | libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
0b47fe6b | 276 | libbitcoin_common_a_SOURCES = \ |
eda37330 | 277 | amount.cpp \ |
ff734e90 | 278 | arith_uint256.cpp \ |
75c82d49 | 279 | base58.cpp \ |
0b47fe6b | 280 | chainparams.cpp \ |
75c82d49 | 281 | coins.cpp \ |
561e9e9d | 282 | compressor.cpp \ |
ae775b5b JG |
283 | core_read.cpp \ |
284 | core_write.cpp \ | |
900078ae | 285 | eccryptoverify.cpp \ |
50f71cd5 | 286 | ecwrapper.cpp \ |
0b47fe6b WL |
287 | hash.cpp \ |
288 | key.cpp \ | |
75c82d49 | 289 | keystore.cpp \ |
0b47fe6b | 290 | netbase.cpp \ |
ff734e90 JT |
291 | primitives/block.cpp \ |
292 | primitives/transaction.cpp \ | |
0b47fe6b | 293 | protocol.cpp \ |
d2e74c55 | 294 | pubkey.cpp \ |
928b950e | 295 | scheduler.cpp \ |
611116d4 | 296 | script/interpreter.cpp \ |
cbd22a50 | 297 | script/script.cpp \ |
ff734e90 | 298 | script/script_error.cpp \ |
e088d65a | 299 | script/sign.cpp \ |
c4408a6c | 300 | script/standard.cpp \ |
e463edc1 SB |
301 | $(BITCOIN_CORE_H) \ |
302 | $(LIBZEROCASH_H) | |
84ce18ca WL |
303 | |
304 | # util: shared between all executables. | |
305 | # This library *must* be included to make sure that the glibc | |
306 | # backward-compatibility objects and their sanity checks are linked. | |
307 | libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) | |
308 | libbitcoin_util_a_SOURCES = \ | |
d7d187e8 | 309 | support/pagelocker.cpp \ |
84ce18ca | 310 | chainparamsbase.cpp \ |
71697f97 | 311 | clientversion.cpp \ |
bfc60703 WL |
312 | compat/glibc_sanity.cpp \ |
313 | compat/glibcxx_sanity.cpp \ | |
314 | compat/strnlen.cpp \ | |
6354935c | 315 | random.cpp \ |
84ce18ca | 316 | rpcprotocol.cpp \ |
1630219d | 317 | support/cleanse.cpp \ |
0b47fe6b | 318 | sync.cpp \ |
de79aaa7 | 319 | uint256.cpp \ |
0b47fe6b | 320 | util.cpp \ |
ad49c256 | 321 | utilmoneystr.cpp \ |
bfc60703 | 322 | utilstrencodings.cpp \ |
ad49c256 | 323 | utiltime.cpp \ |
e463edc1 SB |
324 | $(BITCOIN_CORE_H) \ |
325 | $(LIBZEROCASH_H) | |
35b8af92 | 326 | |
d5aab704 | 327 | if GLIBC_BACK_COMPAT |
84ce18ca | 328 | libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp |
d5aab704 CF |
329 | endif |
330 | ||
84ce18ca | 331 | # cli: shared between bitcoin-cli and bitcoin-qt |
a65668dd | 332 | libbitcoin_cli_a_CPPFLAGS = $(BITCOIN_INCLUDES) |
0b47fe6b WL |
333 | libbitcoin_cli_a_SOURCES = \ |
334 | rpcclient.cpp \ | |
e463edc1 SB |
335 | $(BITCOIN_CORE_H) \ |
336 | $(LIBZEROCASH_H) | |
0b47fe6b | 337 | |
84ce18ca | 338 | nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h |
35b8af92 CF |
339 | # |
340 | ||
341 | # bitcoind binary # | |
8a183335 TH |
342 | zcashd_SOURCES = bitcoind.cpp |
343 | zcashd_CPPFLAGS = $(BITCOIN_INCLUDES) | |
344 | zcashd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) | |
72ac792b | 345 | |
346 | if TARGET_WINDOWS | |
8a183335 | 347 | zcashd_SOURCES += bitcoind-res.rc |
72ac792b | 348 | endif |
349 | ||
8a183335 | 350 | zcashd_LDADD = \ |
84ce18ca WL |
351 | $(LIBBITCOIN_SERVER) \ |
352 | $(LIBBITCOIN_COMMON) \ | |
cbe39a38 | 353 | $(LIBBITCOIN_UNIVALUE) \ |
84ce18ca WL |
354 | $(LIBBITCOIN_UTIL) \ |
355 | $(LIBBITCOIN_CRYPTO) \ | |
e463edc1 | 356 | $(LIBZEROCASH) \ |
4a290b52 | 357 | $(LIBLEVELDB) \ |
07a99017 PW |
358 | $(LIBMEMENV) \ |
359 | $(LIBSECP256K1) | |
55668266 | 360 | |
4f9e993b | 361 | if ENABLE_WALLET |
8a183335 | 362 | zcashd_LDADD += libbitcoin_wallet.a |
4f9e993b | 363 | endif |
72ac792b | 364 | |
c4da0970 NW |
365 | zcashd_LDADD += \ |
366 | $(BOOST_LIBS) \ | |
367 | $(BDB_LIBS) \ | |
368 | $(SSL_LIBS) \ | |
369 | $(CRYPTO_LIBS) \ | |
370 | $(MINIUPNPC_LIBS) \ | |
e463edc1 | 371 | $(LIBZEROCASH) \ |
d3612b1c | 372 | $(LIBBITCOIN_CRYPTO) \ |
c4da0970 | 373 | $(LIBZEROCASH_LIBS) |
35b8af92 CF |
374 | # |
375 | ||
72ac792b | 376 | # bitcoin-cli binary # |
8a183335 TH |
377 | zcash_cli_SOURCES = bitcoin-cli.cpp |
378 | zcash_cli_CPPFLAGS = $(BITCOIN_INCLUDES) | |
379 | zcash_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) | |
72ac792b | 380 | |
dee632cc | 381 | if TARGET_WINDOWS |
8a183335 | 382 | zcash_cli_SOURCES += bitcoin-cli-res.rc |
dee632cc CF |
383 | endif |
384 | ||
8a183335 | 385 | zcash_cli_LDADD = \ |
84ce18ca | 386 | $(LIBBITCOIN_CLI) \ |
c4da0970 NW |
387 | $(LIBBITCOIN_UTIL) \ |
388 | $(BOOST_LIBS) \ | |
389 | $(SSL_LIBS) \ | |
390 | $(CRYPTO_LIBS) \ | |
e463edc1 | 391 | $(LIBZEROCASH) \ |
d3612b1c | 392 | $(LIBBITCOIN_CRYPTO) \ |
c4da0970 | 393 | $(LIBZEROCASH_LIBS) |
2a03a390 WL |
394 | # |
395 | ||
cbe39a38 | 396 | # bitcoin-tx binary # |
72ac792b | 397 | bitcoin_tx_SOURCES = bitcoin-tx.cpp |
398 | bitcoin_tx_CPPFLAGS = $(BITCOIN_INCLUDES) | |
399 | bitcoin_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) | |
400 | ||
cc24610f LD |
401 | if TARGET_WINDOWS |
402 | bitcoin_tx_SOURCES += bitcoin-tx-res.rc | |
403 | endif | |
404 | ||
c4da0970 | 405 | # FIXME: Is libzerocash needed for bitcoin_tx? |
cbe39a38 JG |
406 | bitcoin_tx_LDADD = \ |
407 | $(LIBBITCOIN_UNIVALUE) \ | |
408 | $(LIBBITCOIN_COMMON) \ | |
409 | $(LIBBITCOIN_UTIL) \ | |
c4da0970 | 410 | $(LIBSECP256K1) \ |
e463edc1 | 411 | $(LIBZEROCASH) \ |
d3612b1c | 412 | $(LIBBITCOIN_CRYPTO) \ |
c4da0970 | 413 | $(LIBZEROCASH_LIBS) |
28d412ff | 414 | |
72ac792b | 415 | bitcoin_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) |
cbe39a38 | 416 | # |
2a03a390 | 417 | |
e463edc1 SB |
418 | # zerocash protocol primitives # |
419 | libzerocash_a_SOURCES = \ | |
e1ff849d | 420 | zcash/IncrementalMerkleTree.cpp \ |
e463edc1 SB |
421 | zerocash/Address.cpp \ |
422 | zerocash/CoinCommitment.cpp \ | |
423 | zerocash/Coin.cpp \ | |
424 | zerocash/IncrementalMerkleTree.cpp \ | |
425 | zerocash/MintTransaction.cpp \ | |
426 | zerocash/PourInput.cpp \ | |
427 | zerocash/PourOutput.cpp \ | |
428 | zerocash/PourProver.cpp \ | |
429 | zerocash/PourTransaction.cpp \ | |
430 | zerocash/ZerocashParams.cpp \ | |
6c36a9fe SB |
431 | zerocash/utils/util.cpp \ |
432 | zcash/NoteEncryption.cpp \ | |
369df065 SB |
433 | zcash/Address.cpp \ |
434 | zcash/JoinSplit.cpp \ | |
435 | zcash/Note.cpp \ | |
6c36a9fe | 436 | zcash/prf.cpp |
e463edc1 | 437 | |
e463edc1 | 438 | libzerocash_a_CPPFLAGS = -fPIC -DCURVE_ALT_BN128 -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -std=c++11 -pipe -O2 -O0 -g -Wstack-protector -fstack-protector-all -fPIE -fvisibility=hidden -DSTATIC $(BITCOIN_INCLUDES) |
e463edc1 | 439 | |
72ac792b | 440 | # bitcoinconsensus library # |
2cf5f16c CF |
441 | if BUILD_BITCOIN_LIBS |
442 | include_HEADERS = script/bitcoinconsensus.h | |
443 | libbitcoinconsensus_la_SOURCES = \ | |
6d25662f | 444 | crypto/equihash.cpp \ |
36fa4a78 | 445 | crypto/hmac_sha512.cpp \ |
bfc60703 | 446 | crypto/ripemd160.cpp \ |
2cf5f16c | 447 | crypto/sha1.cpp \ |
36fa4a78 PW |
448 | crypto/sha256.cpp \ |
449 | crypto/sha512.cpp \ | |
2cf5f16c CF |
450 | eccryptoverify.cpp \ |
451 | ecwrapper.cpp \ | |
452 | hash.cpp \ | |
bfc60703 | 453 | primitives/transaction.cpp \ |
2cf5f16c | 454 | pubkey.cpp \ |
2cf5f16c | 455 | script/bitcoinconsensus.cpp \ |
bfc60703 WL |
456 | script/interpreter.cpp \ |
457 | script/script.cpp \ | |
2cf5f16c CF |
458 | uint256.cpp \ |
459 | utilstrencodings.cpp | |
460 | ||
461 | if GLIBC_BACK_COMPAT | |
462 | libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp | |
2cf5f16c CF |
463 | endif |
464 | ||
465 | libbitcoinconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS) | |
466 | libbitcoinconsensus_la_LIBADD = $(CRYPTO_LIBS) | |
467 | libbitcoinconsensus_la_CPPFLAGS = $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL | |
72ac792b | 468 | |
cdd36c6c | 469 | endif |
72ac792b | 470 | # |
2cf5f16c | 471 | |
35b8af92 CF |
472 | CLEANFILES = leveldb/libleveldb.a leveldb/libmemenv.a *.gcda *.gcno |
473 | ||
474 | DISTCLEANFILES = obj/build.h | |
475 | ||
c4da0970 | 476 | EXTRA_DIST = leveldb libzerocash/Makefile |
35b8af92 CF |
477 | |
478 | clean-local: | |
479 | -$(MAKE) -C leveldb clean | |
4300876c | 480 | -$(MAKE) -C secp256k1 clean |
26d1b65c | 481 | rm -f leveldb/*/*.gcno leveldb/helpers/memenv/*.gcno |
54372482 | 482 | -rm -f config.h |
65e8ba4d | 483 | |
6b9f0d55 | 484 | .rc.o: |
70c71c50 | 485 | @test -f $(WINDRES) |
71697f97 | 486 | $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ |
6b9f0d55 CF |
487 | |
488 | .mm.o: | |
70c71c50 | 489 | $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ |
6b9f0d55 CF |
490 | $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< |
491 | ||
492 | %.pb.cc %.pb.h: %.proto | |
70c71c50 CF |
493 | @test -f $(PROTOC) |
494 | $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $(<D) $<) | |
6b9f0d55 | 495 | |
65e8ba4d CF |
496 | if ENABLE_TESTS |
497 | include Makefile.test.include | |
6bd8e469 | 498 | include Makefile.gtest.include |
65e8ba4d CF |
499 | endif |
500 | ||
501 | if ENABLE_QT | |
502 | include Makefile.qt.include | |
503 | endif | |
504 | ||
505 | if ENABLE_QT_TESTS | |
506 | include Makefile.qttest.include | |
507 | endif | |
6e96cf08 SB |
508 | |
509 | include Makefile.zcash.include |