1 # Copyright (c) 2016-2019 The Zcash developers
2 # Copyright (c) 2013-2019 The Bitcoin Core developers
3 # Copyright (c) 2013-2019 Bitcoin Developers
4 # Distributed under the MIT software license, see the accompanying
5 # file COPYING or https://www.opensource.org/licenses/mit-license.php .
7 ACLOCAL_AMFLAGS = -I build-aux/m4
17 pkgconfigdir = $(libdir)/pkgconfig
18 pkgconfig_DATA = libzcashconsensus.pc
22 BITCOIND_BIN=$(top_builddir)/src/verusd$(EXEEXT)
23 BITCOIN_CLI_BIN=$(top_builddir)/src/verus$(EXEEXT)
24 #WALLET_UTILITY_BIN=$(top_builddir)/src/wallet-utility$(EXEEXT)
25 BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
30 OSX_BACKGROUND_IMAGE=background.tiff
31 OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
32 OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
33 OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings
34 OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
35 OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
36 OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
39 DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
41 BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
42 $(top_srcdir)/contrib/devtools/security-check.py
46 WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
47 $(top_srcdir)/share/pixmaps/nsis-header.bmp \
48 $(top_srcdir)/share/pixmaps/nsis-wizard.bmp
51 OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \
52 $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \
53 $(top_srcdir)/contrib/macdeploy/DS_Store \
54 $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
55 $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
59 COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
60 leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
61 baseline_filtered.info block_test_filtered.info \
62 leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info
63 # zcash-gtest.info zcash-gtest_filtered.info zcash-gtest_coverage.info
65 COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
66 leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
67 baseline_filtered.info \
68 leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info \
69 #zcash-gtest.info zcash-gtest_filtered.info zcash-gtest_coverage.info
73 -$(MAKE) -C $(top_distdir)/src/leveldb clean
74 -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean
75 -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
78 $(MKDIR_P) $(top_distdir)/_build/src/leveldb
79 cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/
80 -$(MAKE) -C $(top_distdir)/_build/src/leveldb clean
85 $(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE
86 $(MAKE) -C src $(patsubst src/%,%,$@)
90 $(OSX_APP)/Contents/PkgInfo:
94 $(OSX_APP)/Contents/Resources/empty.lproj:
98 $(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
100 $(INSTALL_DATA) $< $@
102 $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
104 $(INSTALL_DATA) $< $@
106 $(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(BITCOIN_QT_BIN)
108 STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@
110 $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR)
112 $(INSTALL_DATA) $< $@
114 OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
115 $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
116 $(OSX_APP)/Contents/MacOS/Bitcoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
121 $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
122 $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2
123 deploydir: $(OSX_DMG)
125 APP_DIST_DIR=$(top_builddir)/dist
126 APP_DIST_EXTRAS=$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE) $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications
130 $(APP_DIST_DIR)/Applications:
132 @cd $(@D); $(LN_S) /Applications $(@F)
134 $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt
136 $(OSX_DMG): $(APP_DIST_EXTRAS)
137 $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o $@ dist
139 $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE)
142 $(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store
145 $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
146 INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
148 deploydir: $(APP_DIST_EXTRAS)
152 appbundle: $(OSX_APP_BUILT)
157 deploy: $(BITCOIN_WIN_INSTALLER)
160 $(BITCOIND_BIN): FORCE
163 $(BITCOIN_CLI_BIN): FORCE
166 #$(WALLET_UTILITY_BIN): FORCE
167 # $(MAKE) -C src $(@F)
172 $(LCOV) -c -i -d $(abs_builddir)/src -o $@
175 baseline_filtered.info: baseline.info
176 $(LCOV) -r $< "/usr/include/*" \
177 "$(abs_builddir)/depends/$(BUILD)/include/*.h" \
178 "$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
179 "$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
180 "$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
181 "$(abs_builddir)/src/gtest/*" \
182 "$(abs_builddir)/src/test/*" \
183 "$(abs_builddir)/src/wallet/gtest/*" \
184 "$(abs_builddir)/src/wallet/test/*" \
187 baseline_filtered.info: baseline.info
188 $(LCOV) -r $< "/usr/include/*" \
189 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
190 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
191 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
192 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
193 "$(abs_builddir)/src/gtest/*" \
194 "$(abs_builddir)/src/test/*" \
195 "$(abs_builddir)/src/wallet/gtest/*" \
196 "$(abs_builddir)/src/wallet/test/*" \
200 leveldb_baseline.info: baseline_filtered.info
201 $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@
204 leveldb_baseline_filtered.info: leveldb_baseline.info
205 $(LCOV) -r $< "/usr/include/*" \
206 "$(abs_builddir)/depends/$(BUILD)/include/*.h" \
207 "$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
208 "$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
209 "$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
210 "$(abs_builddir)/src/gtest/*" \
211 "$(abs_builddir)/src/test/*" \
212 "$(abs_builddir)/src/wallet/gtest/*" \
213 "$(abs_builddir)/src/wallet/test/*" \
216 leveldb_baseline_filtered.info: leveldb_baseline.info
217 $(LCOV) -r $< "/usr/include/*" \
218 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
219 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
220 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
221 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
222 "$(abs_builddir)/src/gtest/*" \
223 "$(abs_builddir)/src/test/*" \
224 "$(abs_builddir)/src/wallet/gtest/*" \
225 "$(abs_builddir)/src/wallet/test/*" \
229 baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info
230 $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@
232 test_bitcoin.info: baseline_filtered_combined.info
233 $(MAKE) -C src/ bitcoin_test_check
234 $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@
235 $(LCOV) -z -d $(abs_builddir)/src
236 $(LCOV) -z -d $(abs_builddir)/src/leveldb
239 test_bitcoin_filtered.info: test_bitcoin.info
240 $(LCOV) -r $< "/usr/include/*" \
241 "$(abs_builddir)/depends/$(BUILD)/include/*.h" \
242 "$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
243 "$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
244 "$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
245 "$(abs_builddir)/src/gtest/*" \
246 "$(abs_builddir)/src/test/*" \
247 "$(abs_builddir)/src/wallet/gtest/*" \
248 "$(abs_builddir)/src/wallet/test/*" \
251 test_bitcoin_filtered.info: test_bitcoin.info
252 $(LCOV) -r $< "/usr/include/*" \
253 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
254 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
255 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
256 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
257 "$(abs_builddir)/src/gtest/*" \
258 "$(abs_builddir)/src/test/*" \
259 "$(abs_builddir)/src/wallet/gtest/*" \
260 "$(abs_builddir)/src/wallet/test/*" \
265 block_test.info: test_bitcoin_filtered.info
267 -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0
268 $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@
269 $(LCOV) -z -d $(abs_builddir)/src
270 $(LCOV) -z -d $(abs_builddir)/src/leveldb
273 block_test_filtered.info: block_test.info
274 $(LCOV) -r $< "/usr/include/*" \
275 "$(abs_builddir)/depends/$(BUILD)/include/*.h" \
276 "$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
277 "$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
278 "$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
279 "$(abs_builddir)/src/gtest/*" \
280 "$(abs_builddir)/src/test/*" \
281 "$(abs_builddir)/src/wallet/gtest/*" \
282 "$(abs_builddir)/src/wallet/test/*" \
285 block_test_filtered.info: block_test.info
286 $(LCOV) -r $< "/usr/include/*" \
287 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
288 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
289 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
290 "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
291 "$(abs_builddir)/src/gtest/*" \
292 "$(abs_builddir)/src/test/*" \
293 "$(abs_builddir)/src/wallet/gtest/*" \
294 "$(abs_builddir)/src/wallet/test/*" \
299 test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info
300 $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@
303 zcash-gtest_coverage.info: baseline_filtered_combined.info zcash-gtest_filtered.info
304 $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a zcash-gtest_filtered.info -o $@
308 total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info zcash-gtest_filtered.info block_test_filtered.info
309 $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a zcash-gtest_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
311 total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info zcash-gtest_filtered.info block_test_filtered.info
312 $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a zcash-gtest_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
316 test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info
317 $(GENHTML) -s $< -o $(@D)
321 zcash-gtest.coverage/.dirstamp: zcash-gtest_coverage.info
322 $(GENHTML) -s $< -o $(@D)
324 cov-zcash: zcash-gtest.coverage/.dirstamp
327 total.coverage/.dirstamp: total_coverage.info
328 $(GENHTML) -s $< -o $(@D)
332 cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp
334 cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp
339 dist_bin_SCRIPTS = zcutil/fetch-params.sh
340 dist_noinst_SCRIPTS = autogen.sh zcutil/build-debian-package.sh zcutil/build.sh
342 EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.sh qa/pull-tester/run-bitcoin-cli qa/rpc-tests qa/zcash $(DIST_DOCS) $(BIN_CHECKS)
345 mv $(DESTDIR)$(bindir)/fetch-params.sh $(DESTDIR)$(bindir)/zcash-fetch-params
347 .INTERMEDIATE: $(COVERAGE_INFO)
349 DISTCHECK_CONFIGURE_FLAGS = --enable-man
352 rm -rf test_bitcoin.coverage/ zcash-gtest.coverage/ total.coverage/