]>
Commit | Line | Data |
---|---|---|
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 . | |
6 | ||
7 | ACLOCAL_AMFLAGS = -I build-aux/m4 | |
8 | SUBDIRS = src | |
9 | if ENABLE_MAN | |
10 | SUBDIRS += doc/man | |
11 | endif | |
12 | .PHONY: deploy FORCE | |
13 | ||
14 | GZIP_ENV="-9n" | |
15 | ||
16 | if BUILD_BITCOIN_LIBS | |
17 | pkgconfigdir = $(libdir)/pkgconfig | |
18 | pkgconfig_DATA = libzcashconsensus.pc | |
19 | endif | |
20 | ||
21 | ||
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) | |
26 | ||
27 | if TARGET_DARWIN | |
28 | OSX_APP=Agama.app | |
29 | OSX_DMG=Agama.dmg | |
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 | |
37 | endif | |
38 | ||
39 | DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) | |
40 | ||
41 | BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \ | |
42 | $(top_srcdir)/contrib/devtools/security-check.py | |
43 | ||
44 | ||
45 | ||
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 | |
49 | ||
50 | if TARGET_DARWIN | |
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 | |
56 | endif | |
57 | ||
58 | if TARGET_DARWIN | |
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 | |
64 | else | |
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 | |
70 | endif | |
71 | ||
72 | dist-hook: | |
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 - | |
76 | ||
77 | distcheck-hook: | |
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 | |
81 | ||
82 | distcleancheck: | |
83 | @: | |
84 | ||
85 | $(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE | |
86 | $(MAKE) -C src $(patsubst src/%,%,$@) | |
87 | ||
88 | if TARGET_DARWIN | |
89 | ||
90 | $(OSX_APP)/Contents/PkgInfo: | |
91 | $(MKDIR_P) $(@D) | |
92 | @echo "APPL????" > $@ | |
93 | ||
94 | $(OSX_APP)/Contents/Resources/empty.lproj: | |
95 | $(MKDIR_P) $(@D) | |
96 | @touch $@ | |
97 | ||
98 | $(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) | |
99 | $(MKDIR_P) $(@D) | |
100 | $(INSTALL_DATA) $< $@ | |
101 | ||
102 | $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) | |
103 | $(MKDIR_P) $(@D) | |
104 | $(INSTALL_DATA) $< $@ | |
105 | ||
106 | $(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(BITCOIN_QT_BIN) | |
107 | $(MKDIR_P) $(@D) | |
108 | STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ | |
109 | ||
110 | $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR) | |
111 | $(MKDIR_P) $(@D) | |
112 | $(INSTALL_DATA) $< $@ | |
113 | ||
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 | |
117 | ||
118 | endif | |
119 | ||
120 | if BUILD_DARWIN | |
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) | |
124 | else | |
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 | |
127 | endif | |
128 | ||
129 | if TARGET_DARWIN | |
130 | $(APP_DIST_DIR)/Applications: | |
131 | @rm -f $@ | |
132 | @cd $(@D); $(LN_S) /Applications $(@F) | |
133 | ||
134 | $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt | |
135 | ||
136 | $(OSX_DMG): $(APP_DIST_EXTRAS) | |
137 | $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o $@ dist | |
138 | ||
139 | $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) | |
140 | $(MKDIR_P) $(@D) | |
141 | $(INSTALL) $< $@ | |
142 | $(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store | |
143 | $(INSTALL) $< $@ | |
144 | ||
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 | |
147 | ||
148 | deploydir: $(APP_DIST_EXTRAS) | |
149 | endif | |
150 | ||
151 | if TARGET_DARWIN | |
152 | appbundle: $(OSX_APP_BUILT) | |
153 | deploy: $(OSX_DMG) | |
154 | endif | |
155 | ||
156 | if TARGET_WINDOWS | |
157 | deploy: $(BITCOIN_WIN_INSTALLER) | |
158 | endif | |
159 | ||
160 | $(BITCOIND_BIN): FORCE | |
161 | $(MAKE) -C src $(@F) | |
162 | ||
163 | $(BITCOIN_CLI_BIN): FORCE | |
164 | $(MAKE) -C src $(@F) | |
165 | ||
166 | #$(WALLET_UTILITY_BIN): FORCE | |
167 | # $(MAKE) -C src $(@F) | |
168 | ||
169 | if USE_LCOV | |
170 | ||
171 | baseline.info: | |
172 | $(LCOV) -c -i -d $(abs_builddir)/src -o $@ | |
173 | ||
174 | if BUILD_DARWIN | |
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/*" \ | |
185 | -o $@ | |
186 | else | |
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/*" \ | |
197 | -o $@ | |
198 | endif | |
199 | ||
200 | leveldb_baseline.info: baseline_filtered.info | |
201 | $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@ | |
202 | ||
203 | if BUILD_DARWIN | |
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/*" \ | |
214 | -o $@ | |
215 | else | |
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/*" \ | |
226 | -o $@ | |
227 | endif | |
228 | ||
229 | baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info | |
230 | $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ | |
231 | ||
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 | |
237 | ||
238 | if BUILD_DARWIN | |
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/*" \ | |
249 | -o $@ | |
250 | else | |
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/*" \ | |
261 | -o $@ | |
262 | endif | |
263 | ||
264 | ||
265 | block_test.info: test_bitcoin_filtered.info | |
266 | $(MKDIR_P) qa/tmp | |
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 | |
271 | ||
272 | if BUILD_DARWIN | |
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/*" \ | |
283 | -o $@ | |
284 | else | |
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/*" \ | |
295 | -o $@ | |
296 | endif | |
297 | ||
298 | ||
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 $@ | |
301 | ||
302 | if ! BUILD_DARWIN | |
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 $@ | |
305 | endif | |
306 | ||
307 | if BUILD_DARWIN | |
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 | |
310 | else | |
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 | |
313 | endif | |
314 | ||
315 | ||
316 | test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info | |
317 | $(GENHTML) -s $< -o $(@D) | |
318 | @touch $@ | |
319 | ||
320 | if TARGET_DARWIN | |
321 | zcash-gtest.coverage/.dirstamp: zcash-gtest_coverage.info | |
322 | $(GENHTML) -s $< -o $(@D) | |
323 | @touch $@ | |
324 | cov-zcash: zcash-gtest.coverage/.dirstamp | |
325 | endif | |
326 | ||
327 | total.coverage/.dirstamp: total_coverage.info | |
328 | $(GENHTML) -s $< -o $(@D) | |
329 | @touch $@ | |
330 | ||
331 | if BUILD_DARWIN | |
332 | cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp | |
333 | else | |
334 | cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp | |
335 | endif | |
336 | ||
337 | endif | |
338 | ||
339 | dist_bin_SCRIPTS = zcutil/fetch-params.sh | |
340 | dist_noinst_SCRIPTS = autogen.sh zcutil/build-debian-package.sh zcutil/build.sh | |
341 | ||
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) | |
343 | ||
344 | install-exec-hook: | |
345 | mv $(DESTDIR)$(bindir)/fetch-params.sh $(DESTDIR)$(bindir)/zcash-fetch-params | |
346 | ||
347 | .INTERMEDIATE: $(COVERAGE_INFO) | |
348 | ||
349 | DISTCHECK_CONFIGURE_FLAGS = --enable-man | |
350 | ||
351 | clean-local: | |
352 | rm -rf test_bitcoin.coverage/ zcash-gtest.coverage/ total.coverage/ |