]>
Commit | Line | Data |
---|---|---|
52a5f903 | 1 | ACLOCAL_AMFLAGS = -I build-aux/m4 |
35b8af92 | 2 | SUBDIRS = src |
77a055d0 | 3 | .PHONY: deploy FORCE |
35b8af92 CF |
4 | |
5 | GZIP_ENV="-9n" | |
6 | ||
eef747bb LD |
7 | if BUILD_BITCOIN_LIBS |
8 | pkgconfigdir = $(libdir)/pkgconfig | |
9 | pkgconfig_DATA = libbitcoinconsensus.pc | |
10 | endif | |
11 | ||
8a183335 | 12 | BITCOIND_BIN=$(top_builddir)/src/zcashd$(EXEEXT) |
35b8af92 | 13 | BITCOIN_QT_BIN=$(top_builddir)/src/qt/bitcoin-qt$(EXEEXT) |
8a183335 | 14 | BITCOIN_CLI_BIN=$(top_builddir)/src/zcash-cli$(EXEEXT) |
2f87b38e | 15 | BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) |
35b8af92 | 16 | |
4d435d1c | 17 | OSX_APP=Bitcoin-Qt.app |
7cef321e | 18 | OSX_DMG=Bitcoin-Core.dmg |
997cab78 | 19 | OSX_BACKGROUND_IMAGE=background.tiff |
35b8af92 CF |
20 | OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus |
21 | OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist | |
6145fdf4 | 22 | OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings |
35b8af92 CF |
23 | OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns |
24 | OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed | |
01e5327c | 25 | OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW |
35b8af92 | 26 | |
de21e8f1 | 27 | DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) |
6c980c7d | 28 | |
56734f4b TH |
29 | BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \ |
30 | $(top_srcdir)/contrib/devtools/security-check.py | |
31 | ||
35b8af92 CF |
32 | WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ |
33 | $(top_srcdir)/share/pixmaps/nsis-header.bmp \ | |
34 | $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ | |
35 | $(top_srcdir)/doc/README_windows.txt | |
36 | ||
6145fdf4 | 37 | OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \ |
997cab78 | 38 | $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \ |
914868a0 CF |
39 | $(top_srcdir)/contrib/macdeploy/DS_Store \ |
40 | $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ | |
41 | $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh | |
35b8af92 CF |
42 | |
43 | COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ | |
44 | leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \ | |
45 | baseline_filtered.info block_test_filtered.info \ | |
873625bc JG |
46 | leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info \ |
47 | zcash-gtest.info zcash-gtest_filtered.info zcash-gtest_coverage.info | |
35b8af92 CF |
48 | |
49 | dist-hook: | |
50 | -$(MAKE) -C $(top_distdir)/src/leveldb clean | |
55668266 | 51 | -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean |
71697f97 | 52 | -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - |
35b8af92 CF |
53 | |
54 | distcheck-hook: | |
55 | $(MKDIR_P) $(top_distdir)/_build/src/leveldb | |
56 | cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/ | |
57 | -$(MAKE) -C $(top_distdir)/_build/src/leveldb clean | |
58 | ||
59 | distcleancheck: | |
60 | @: | |
61 | ||
6b271a39 | 62 | $(BITCOIN_WIN_INSTALLER): all-recursive |
35b8af92 | 63 | $(MKDIR_P) $(top_builddir)/release |
c4a10dbb CF |
64 | STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release |
65 | STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release | |
66 | STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release | |
00ea5464 | 67 | @test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \ |
35b8af92 | 68 | echo error: could not build $@ |
00ea5464 | 69 | @echo built $@ |
35b8af92 | 70 | |
77a055d0 CF |
71 | $(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE |
72 | $(MAKE) -C src $(patsubst src/%,%,$@) | |
35b8af92 CF |
73 | |
74 | $(OSX_APP)/Contents/PkgInfo: | |
75 | $(MKDIR_P) $(@D) | |
76 | @echo "APPL????" > $@ | |
77 | ||
78 | $(OSX_APP)/Contents/Resources/empty.lproj: | |
79 | $(MKDIR_P) $(@D) | |
6145fdf4 | 80 | @touch $@ |
35b8af92 CF |
81 | |
82 | $(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) | |
83 | $(MKDIR_P) $(@D) | |
76cee181 | 84 | $(INSTALL_DATA) $< $@ |
35b8af92 CF |
85 | |
86 | $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) | |
87 | $(MKDIR_P) $(@D) | |
76cee181 | 88 | $(INSTALL_DATA) $< $@ |
35b8af92 CF |
89 | |
90 | $(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(BITCOIN_QT_BIN) | |
91 | $(MKDIR_P) $(@D) | |
c4a10dbb | 92 | STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ |
35b8af92 | 93 | |
6145fdf4 JS |
94 | $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR) |
95 | $(MKDIR_P) $(@D) | |
96 | $(INSTALL_DATA) $< $@ | |
97 | ||
35b8af92 CF |
98 | OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ |
99 | $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ | |
6145fdf4 | 100 | $(OSX_APP)/Contents/MacOS/Bitcoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings |
35b8af92 | 101 | |
01e5327c | 102 | if BUILD_DARWIN |
35b8af92 | 103 | $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) |
206a7f9d | 104 | $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 |
35b8af92 | 105 | |
2f327a3c | 106 | deploydir: $(OSX_DMG) |
01e5327c | 107 | else |
2f327a3c | 108 | APP_DIST_DIR=$(top_builddir)/dist |
997cab78 | 109 | APP_DIST_EXTRAS=$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE) $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications |
2f327a3c CF |
110 | |
111 | $(APP_DIST_DIR)/Applications: | |
112 | @rm -f $@ | |
113 | @cd $(@D); $(LN_S) /Applications $(@F) | |
114 | ||
115 | $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt | |
116 | ||
117 | $(OSX_DMG): $(APP_DIST_EXTRAS) | |
7cef321e | 118 | $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o $@ dist |
2f327a3c | 119 | |
997cab78 | 120 | $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) |
2f327a3c | 121 | $(MKDIR_P) $(@D) |
997cab78 CF |
122 | $(INSTALL) $< $@ |
123 | $(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store | |
124 | $(INSTALL) $< $@ | |
2f327a3c CF |
125 | |
126 | $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) | |
127 | INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 | |
128 | ||
129 | deploydir: $(APP_DIST_EXTRAS) | |
01e5327c | 130 | endif |
35b8af92 CF |
131 | |
132 | if TARGET_DARWIN | |
31127f31 | 133 | appbundle: $(OSX_APP_BUILT) |
35b8af92 CF |
134 | deploy: $(OSX_DMG) |
135 | endif | |
136 | if TARGET_WINDOWS | |
137 | deploy: $(BITCOIN_WIN_INSTALLER) | |
138 | endif | |
139 | ||
d3434601 CF |
140 | $(BITCOIN_QT_BIN): FORCE |
141 | $(MAKE) -C src qt/$(@F) | |
142 | ||
143 | $(BITCOIND_BIN): FORCE | |
144 | $(MAKE) -C src $(@F) | |
145 | ||
146 | $(BITCOIN_CLI_BIN): FORCE | |
147 | $(MAKE) -C src $(@F) | |
148 | ||
35b8af92 CF |
149 | if USE_LCOV |
150 | ||
151 | baseline.info: | |
152 | $(LCOV) -c -i -d $(abs_builddir)/src -o $@ | |
153 | ||
154 | baseline_filtered.info: baseline.info | |
c2059f9e JG |
155 | $(LCOV) -r $< "/usr/include/*" \ |
156 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ | |
157 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ | |
158 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ | |
159 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ | |
160 | "$(abs_builddir)/src/gtest/*" \ | |
161 | "$(abs_builddir)/src/test/*" \ | |
162 | -o $@ | |
35b8af92 CF |
163 | |
164 | leveldb_baseline.info: baseline_filtered.info | |
165 | $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@ | |
166 | ||
167 | leveldb_baseline_filtered.info: leveldb_baseline.info | |
c2059f9e JG |
168 | $(LCOV) -r $< "/usr/include/*" \ |
169 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ | |
170 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ | |
171 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ | |
172 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ | |
173 | "$(abs_builddir)/src/gtest/*" \ | |
174 | "$(abs_builddir)/src/test/*" \ | |
175 | -o $@ | |
35b8af92 CF |
176 | |
177 | baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info | |
178 | $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ | |
179 | ||
180 | test_bitcoin.info: baseline_filtered_combined.info | |
d16d5ef8 | 181 | $(MAKE) -C src/ bitcoin_test_check |
35b8af92 CF |
182 | $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ |
183 | $(LCOV) -z -d $(abs_builddir)/src | |
184 | $(LCOV) -z -d $(abs_builddir)/src/leveldb | |
185 | ||
186 | test_bitcoin_filtered.info: test_bitcoin.info | |
c2059f9e JG |
187 | $(LCOV) -r $< "/usr/include/*" \ |
188 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ | |
189 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ | |
190 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ | |
191 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ | |
192 | "$(abs_builddir)/src/gtest/*" \ | |
193 | "$(abs_builddir)/src/test/*" \ | |
194 | -o $@ | |
35b8af92 | 195 | |
d16d5ef8 NW |
196 | zcash-gtest.info: baseline_filtered_combined.info |
197 | $(MAKE) -C src/ zcash-gtest_check | |
7fde87cd | 198 | $(LCOV) -c -d $(abs_builddir)/src -t zcash-gtest -o $@ |
d16d5ef8 NW |
199 | $(LCOV) -z -d $(abs_builddir)/src |
200 | $(LCOV) -z -d $(abs_builddir)/src/leveldb | |
201 | ||
202 | zcash-gtest_filtered.info: zcash-gtest.info | |
c2059f9e JG |
203 | $(LCOV) -r $< "/usr/include/*" \ |
204 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ | |
205 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ | |
206 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ | |
207 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ | |
208 | "$(abs_builddir)/src/gtest/*" \ | |
209 | "$(abs_builddir)/src/test/*" \ | |
210 | -o $@ | |
d16d5ef8 | 211 | |
35b8af92 | 212 | block_test.info: test_bitcoin_filtered.info |
95fa14da | 213 | $(MKDIR_P) qa/tmp |
f1f72e53 | 214 | -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 |
35b8af92 CF |
215 | $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ |
216 | $(LCOV) -z -d $(abs_builddir)/src | |
217 | $(LCOV) -z -d $(abs_builddir)/src/leveldb | |
218 | ||
219 | block_test_filtered.info: block_test.info | |
c2059f9e JG |
220 | $(LCOV) -r $< "/usr/include/*" \ |
221 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ | |
222 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ | |
223 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ | |
224 | "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ | |
225 | "$(abs_builddir)/src/gtest/*" \ | |
226 | "$(abs_builddir)/src/test/*" \ | |
227 | -o $@ | |
35b8af92 CF |
228 | |
229 | test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info | |
230 | $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@ | |
231 | ||
d16d5ef8 NW |
232 | zcash-gtest_coverage.info: baseline_filtered_combined.info zcash-gtest_filtered.info |
233 | $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a zcash-gtest_filtered.info -o $@ | |
234 | ||
235 | total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info zcash-gtest_filtered.info block_test_filtered.info | |
236 | $(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 | |
35b8af92 CF |
237 | |
238 | test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info | |
239 | $(GENHTML) -s $< -o $(@D) | |
240 | @touch $@ | |
241 | ||
d16d5ef8 NW |
242 | zcash-gtest.coverage/.dirstamp: zcash-gtest_coverage.info |
243 | $(GENHTML) -s $< -o $(@D) | |
244 | @touch $@ | |
245 | ||
246 | cov-zcash: zcash-gtest.coverage/.dirstamp | |
247 | ||
35b8af92 CF |
248 | total.coverage/.dirstamp: total_coverage.info |
249 | $(GENHTML) -s $< -o $(@D) | |
250 | @touch $@ | |
251 | ||
d16d5ef8 | 252 | cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp |
35b8af92 CF |
253 | |
254 | endif | |
255 | ||
256 | if USE_COMPARISON_TOOL | |
257 | check-local: | |
95fa14da | 258 | $(MKDIR_P) qa/tmp |
a67eef17 | 259 | @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1 |
35b8af92 CF |
260 | endif |
261 | ||
a37567dd | 262 | dist_noinst_SCRIPTS = autogen.sh |
263 | ||
56734f4b | 264 | 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) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS) |
35b8af92 | 265 | |
13d3adb6 | 266 | CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) |
35b8af92 | 267 | |
31127f31 | 268 | .INTERMEDIATE: $(COVERAGE_INFO) |
35b8af92 CF |
269 | |
270 | clean-local: | |
71442d31 | 271 | rm -rf test_bitcoin.coverage/ zcash-gtest.coverage/ total.coverage/ $(OSX_APP) |