2014-09-13 16:09:25 -07:00
ACLOCAL_AMFLAGS = -I build-aux/m4
2013-05-27 16:55:01 -07:00
SUBDIRS = src
2014-06-10 19:26:50 -07:00
.PHONY : deploy FORCE
2013-05-27 16:55:01 -07:00
GZIP_ENV = "-9n"
2015-12-17 13:43:56 -08:00
export PYTHONPATH
2013-05-27 16:55:01 -07:00
2014-11-20 12:45:24 -08:00
i f B U I L D _ B I T C O I N _ L I B S
pkgconfigdir = $( libdir) /pkgconfig
pkgconfig_DATA = libbitcoinconsensus.pc
e n d i f
2016-04-01 09:19:28 -07:00
BITCOIND_BIN = $( top_builddir) /src/$( BITCOIN_DAEMON_NAME) $( EXEEXT)
BITCOIN_QT_BIN = $( top_builddir) /src/qt/$( BITCOIN_GUI_NAME) $( EXEEXT)
BITCOIN_CLI_BIN = $( top_builddir) /src/$( BITCOIN_CLI_NAME) $( EXEEXT)
2014-01-21 03:01:37 -08:00
BITCOIN_WIN_INSTALLER = $( PACKAGE) -$( PACKAGE_VERSION) -win$( WINDOWS_BITS) -setup$( EXEEXT)
2013-05-27 16:55:01 -07:00
2015-12-10 13:49:27 -08:00
empty :=
space := $( empty) $( empty)
2015-06-01 06:42:34 -07:00
OSX_APP = Bitcoin-Qt.app
2015-12-10 13:49:27 -08:00
OSX_VOLNAME = $( subst $( space) ,-,$( PACKAGE_NAME) )
OSX_DMG = $( OSX_VOLNAME) .dmg
OSX_BACKGROUND_SVG = background.svg
2015-01-19 16:10:44 -08:00
OSX_BACKGROUND_IMAGE = background.tiff
2015-12-10 13:49:27 -08:00
OSX_BACKGROUND_IMAGE_DPIS = 36 72
OSX_DSSTORE_GEN = $( top_srcdir) /contrib/macdeploy/custom_dsstore.py
2013-05-27 16:55:01 -07:00
OSX_DEPLOY_SCRIPT = $( top_srcdir) /contrib/macdeploy/macdeployqtplus
OSX_FANCY_PLIST = $( top_srcdir) /contrib/macdeploy/fancy.plist
OSX_INSTALLER_ICONS = $( top_srcdir) /src/qt/res/icons/bitcoin.icns
OSX_PLIST = $( top_srcdir) /share/qt/Info.plist #not installed
2013-12-06 15:13:25 -08:00
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
2013-05-27 16:55:01 -07:00
2014-01-31 00:47:18 -08:00
DIST_DOCS = $( wildcard doc/*.md) $( wildcard doc/release-notes/*.md)
2014-01-21 08:12:34 -08:00
2016-01-26 11:52:56 -08:00
BIN_CHECKS = $( top_srcdir) /contrib/devtools/symbol-check.py \
$( top_srcdir) /contrib/devtools/security-check.py
2013-05-27 16:55:01 -07:00
WINDOWS_PACKAGING = $( top_srcdir) /share/pixmaps/bitcoin.ico \
$( top_srcdir) /share/pixmaps/nsis-header.bmp \
$( top_srcdir) /share/pixmaps/nsis-wizard.bmp \
$( top_srcdir) /doc/README_windows.txt
2015-12-10 13:49:27 -08:00
OSX_PACKAGING = $( OSX_DEPLOY_SCRIPT) $( OSX_FANCY_PLIST) $( OSX_INSTALLER_ICONS) \
$( top_srcdir) /contrib/macdeploy/$( OSX_BACKGROUND_SVG) \
$( OSX_DSSTORE_GEN) \
2014-11-21 16:26:45 -08:00
$( top_srcdir) /contrib/macdeploy/detached-sig-apply.sh \
$( top_srcdir) /contrib/macdeploy/detached-sig-create.sh
2013-05-27 16:55:01 -07:00
COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
2015-10-11 09:29:42 -07:00
baseline_filtered.info block_test_filtered.info rpc_test.info rpc_test_filtered.info \
2013-05-27 16:55:01 -07:00
leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info
dist-hook :
-$( MAKE) -C $( top_distdir) /src/leveldb clean
2014-06-06 07:57:28 -07:00
-$( MAKE) -C $( top_distdir) /src/secp256k1 distclean
2014-10-28 18:33:23 -07:00
-$( GIT) archive --format= tar HEAD -- src/clientversion.cpp | $( AMTAR) -C $( top_distdir) -xf -
2013-05-27 16:55:01 -07:00
distcheck-hook :
$( MKDIR_P) $( top_distdir) /_build/src/leveldb
cp -rf $( top_srcdir) /src/leveldb/* $( top_distdir) /_build/src/leveldb/
-$( MAKE) -C $( top_distdir) /_build/src/leveldb clean
distcleancheck :
@:
2014-08-04 16:11:46 -07:00
$(BITCOIN_WIN_INSTALLER) : all -recursive
2013-05-27 16:55:01 -07:00
$( MKDIR_P) $( top_builddir) /release
2013-12-06 15:12:19 -08:00
STRIPPROG = " $( STRIP) " $( INSTALL_STRIP_PROGRAM) $( BITCOIND_BIN) $( top_builddir) /release
STRIPPROG = " $( STRIP) " $( INSTALL_STRIP_PROGRAM) $( BITCOIN_QT_BIN) $( top_builddir) /release
STRIPPROG = " $( STRIP) " $( INSTALL_STRIP_PROGRAM) $( BITCOIN_CLI_BIN) $( top_builddir) /release
2015-05-04 09:02:24 -07:00
@test -f $( MAKENSIS) && $( MAKENSIS) -V2 $( top_builddir) /share/setup.nsi || \
2013-05-27 16:55:01 -07:00
echo error: could not build $@
2015-05-04 09:02:24 -07:00
@echo built $@
2013-05-27 16:55:01 -07:00
2014-06-10 19:26:50 -07:00
$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none) : FORCE
$( MAKE) -C src $( patsubst src/%,%,$@ )
2013-05-27 16:55:01 -07:00
$(OSX_APP)/Contents/PkgInfo :
$( MKDIR_P) $( @D)
@echo "APPL????" > $@
$(OSX_APP)/Contents/Resources/empty.lproj :
$( MKDIR_P) $( @D)
2015-06-02 04:24:22 -07:00
@touch $@
2013-05-27 16:55:01 -07:00
$(OSX_APP)/Contents/Info.plist : $( OSX_PLIST )
$( MKDIR_P) $( @D)
2014-03-24 09:17:29 -07:00
$( INSTALL_DATA) $< $@
2013-05-27 16:55:01 -07:00
$(OSX_APP)/Contents/Resources/bitcoin.icns : $( OSX_INSTALLER_ICONS )
$( MKDIR_P) $( @D)
2014-03-24 09:17:29 -07:00
$( INSTALL_DATA) $< $@
2013-05-27 16:55:01 -07:00
$(OSX_APP)/Contents/MacOS/Bitcoin-Qt : $( BITCOIN_QT_BIN )
$( MKDIR_P) $( @D)
2013-12-06 15:12:19 -08:00
STRIPPROG = " $( STRIP) " $( INSTALL_STRIP_PROGRAM) $< $@
2013-05-27 16:55:01 -07:00
2015-12-10 13:49:27 -08:00
$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings :
2015-06-02 04:24:22 -07:00
$( MKDIR_P) $( @D)
2015-12-10 13:49:27 -08:00
echo '{ CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@
2015-06-02 04:24:22 -07:00
2013-05-27 16:55:01 -07:00
OSX_APP_BUILT = $( OSX_APP) /Contents/PkgInfo $( OSX_APP) /Contents/Resources/empty.lproj \
$( OSX_APP) /Contents/Resources/bitcoin.icns $( OSX_APP) /Contents/Info.plist \
2015-06-02 04:24:22 -07:00
$( OSX_APP) /Contents/MacOS/Bitcoin-Qt $( OSX_APP) /Contents/Resources/Base.lproj/InfoPlist.strings
2013-05-27 16:55:01 -07:00
2015-12-10 13:49:27 -08:00
osx_volname :
echo $( OSX_VOLNAME) >$@
2013-12-06 15:13:25 -08:00
i f B U I L D _ D A R W I N
2013-05-27 16:55:01 -07:00
$(OSX_DMG) : $( OSX_APP_BUILT ) $( OSX_PACKAGING )
2016-03-20 10:51:52 -07:00
$( PYTHON) $( OSX_DEPLOY_SCRIPT) $( OSX_APP) -add-qt-tr $( OSX_QT_TRANSLATIONS) -translations-dir= $( QT_TRANSLATION_DIR) -dmg -fancy $( OSX_FANCY_PLIST) -verbose 2 -volname $( OSX_VOLNAME)
2013-05-27 16:55:01 -07:00
2014-05-30 16:17:55 -07:00
deploydir : $( OSX_DMG )
2013-12-06 15:13:25 -08:00
e l s e
2014-05-30 16:17:55 -07:00
APP_DIST_DIR = $( top_builddir) /dist
2015-01-19 16:10:44 -08:00
APP_DIST_EXTRAS = $( APP_DIST_DIR) /.background/$( OSX_BACKGROUND_IMAGE) $( APP_DIST_DIR) /.DS_Store $( APP_DIST_DIR) /Applications
2014-05-30 16:17:55 -07:00
$(APP_DIST_DIR)/Applications :
@rm -f $@
@cd $( @D) ; $( LN_S) /Applications $( @F)
$(APP_DIST_EXTRAS) : $( APP_DIST_DIR ) /$( OSX_APP ) /Contents /MacOS /Bitcoin -Qt
$(OSX_DMG) : $( APP_DIST_EXTRAS )
2015-12-10 13:49:27 -08:00
$( GENISOIMAGE) -no-cache-inodes -D -l -probe -V " $( OSX_VOLNAME) " -no-pad -r -dir-mode 0755 -apple -o $@ dist
2014-05-30 16:17:55 -07:00
2015-12-10 13:49:27 -08:00
dpi%.$(OSX_BACKGROUND_IMAGE) : contrib /macdeploy /$( OSX_BACKGROUND_SVG )
2015-12-17 12:40:05 -08:00
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < " $< " | $( RSVG_CONVERT) -f png -d $* -p $* | $( IMAGEMAGICK_CONVERT) - $@
2015-12-10 13:49:27 -08:00
OSX_BACKGROUND_IMAGE_DPIFILES := $( foreach dpi,$( OSX_BACKGROUND_IMAGE_DPIS) ,dpi$( dpi) .$( OSX_BACKGROUND_IMAGE) )
$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE) : $( OSX_BACKGROUND_IMAGE_DPIFILES )
2014-05-30 16:17:55 -07:00
$( MKDIR_P) $( @D)
2015-12-10 13:49:27 -08:00
$( TIFFCP) -c none $( OSX_BACKGROUND_IMAGE_DPIFILES) $@
$(APP_DIST_DIR)/.DS_Store : $( OSX_DSSTORE_GEN )
2016-03-20 10:51:52 -07:00
$( PYTHON) $< " $@ " " $( OSX_VOLNAME) "
2014-05-30 16:17:55 -07:00
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt : $( OSX_APP_BUILT ) $( OSX_PACKAGING )
2016-03-20 10:51:52 -07:00
INSTALLNAMETOOL = $( INSTALLNAMETOOL) OTOOL = $( OTOOL) STRIP = $( STRIP) $( PYTHON) $( OSX_DEPLOY_SCRIPT) $( OSX_APP) -translations-dir= $( QT_TRANSLATION_DIR) -add-qt-tr $( OSX_QT_TRANSLATIONS) -verbose 2
2014-05-30 16:17:55 -07:00
deploydir : $( APP_DIST_EXTRAS )
2013-12-06 15:13:25 -08:00
e n d i f
2013-05-27 16:55:01 -07:00
i f T A R G E T _ D A R W I N
2013-10-07 20:50:57 -07:00
appbundle : $( OSX_APP_BUILT )
2013-05-27 16:55:01 -07:00
deploy : $( OSX_DMG )
e n d i f
i f T A R G E T _ W I N D O W S
deploy : $( BITCOIN_WIN_INSTALLER )
e n d i f
2014-08-04 14:35:33 -07:00
$(BITCOIN_QT_BIN) : FORCE
$( MAKE) -C src qt/$( @F)
$(BITCOIND_BIN) : FORCE
$( MAKE) -C src $( @F)
$(BITCOIN_CLI_BIN) : FORCE
$( MAKE) -C src $( @F)
2013-05-27 16:55:01 -07:00
i f U S E _ L C O V
baseline.info :
$( LCOV) -c -i -d $( abs_builddir) /src -o $@
baseline_filtered.info : baseline .info
$( LCOV) -r $< "/usr/include/*" -o $@
leveldb_baseline.info : baseline_filtered .info
$( LCOV) -c -i -d $( abs_builddir) /src/leveldb -b $( abs_builddir) /src/leveldb -o $@
leveldb_baseline_filtered.info : leveldb_baseline .info
$( LCOV) -r $< "/usr/include/*" -o $@
baseline_filtered_combined.info : leveldb_baseline_filtered .info baseline_filtered .info
$( LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@
test_bitcoin.info : baseline_filtered_combined .info
$( MAKE) -C src/ check
$( LCOV) -c -d $( abs_builddir) /src -t test_bitcoin -o $@
$( LCOV) -z -d $( abs_builddir) /src
$( LCOV) -z -d $( abs_builddir) /src/leveldb
test_bitcoin_filtered.info : test_bitcoin .info
$( LCOV) -r $< "/usr/include/*" -o $@
block_test.info : test_bitcoin_filtered .info
2013-10-26 22:47:12 -07:00
$( MKDIR_P) qa/tmp
2015-10-12 05:29:44 -07:00
-@TIMEOUT= 15 qa/pull-tester/run-bitcoind-for-test.sh $( JAVA) -jar $( JAVA_COMPARISON_TOOL) qa/tmp/compTool $( COMPARISON_TOOL_REORG_TESTS)
2013-05-27 16:55:01 -07:00
$( LCOV) -c -d $( abs_builddir) /src --t BitcoinJBlockTest -o $@
$( LCOV) -z -d $( abs_builddir) /src
$( LCOV) -z -d $( abs_builddir) /src/leveldb
block_test_filtered.info : block_test .info
$( LCOV) -r $< "/usr/include/*" -o $@
2015-10-11 09:29:42 -07:00
rpc_test.info : test_bitcoin_filtered .info
-@TIMEOUT= 15 python qa/pull-tester/rpc-tests.py $( EXTENDED_RPC_TESTS)
$( LCOV) -c -d $( abs_builddir) /src --t rpc-tests -o $@
$( LCOV) -z -d $( abs_builddir) /src
$( LCOV) -z -d $( abs_builddir) /src/leveldb
rpc_test_filtered.info : rpc_test .info
$( LCOV) -r $< "/usr/include/*" -o $@
2013-05-27 16:55:01 -07:00
test_bitcoin_coverage.info : baseline_filtered_combined .info test_bitcoin_filtered .info
$( LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@
2015-10-11 09:29:42 -07:00
total_coverage.info : baseline_filtered_combined .info test_bitcoin_filtered .info block_test_filtered .info rpc_test_filtered .info
$( LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -a rpc_test_filtered.info -o $@ | $( GREP) "\%" | $( AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
2013-05-27 16:55:01 -07:00
test_bitcoin.coverage/.dirstamp : test_bitcoin_coverage .info
$( GENHTML) -s $< -o $( @D)
@touch $@
total.coverage/.dirstamp : total_coverage .info
$( GENHTML) -s $< -o $( @D)
@touch $@
cov : test_bitcoin .coverage /.dirstamp total .coverage /.dirstamp
e n d i f
i f U S E _ C O M P A R I S O N _ T O O L
check-local :
2013-10-26 22:47:12 -07:00
$( MKDIR_P) qa/tmp
2014-06-18 13:29:51 -07:00
@qa/pull-tester/run-bitcoind-for-test.sh $( JAVA) -jar $( JAVA_COMPARISON_TOOL) qa/tmp/compTool $( COMPARISON_TOOL_REORG_TESTS) 2>& 1
2013-05-27 16:55:01 -07:00
e n d i f
2015-07-10 20:39:45 -07:00
dist_noinst_SCRIPTS = autogen.sh
2016-01-26 11:52:56 -08:00
EXTRA_DIST = $( top_srcdir) /share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $( DIST_DOCS) $( WINDOWS_PACKAGING) $( OSX_PACKAGING) $( BIN_CHECKS)
2013-05-27 16:55:01 -07:00
2014-04-23 13:07:31 -07:00
CLEANFILES = $( OSX_DMG) $( BITCOIN_WIN_INSTALLER)
2013-05-27 16:55:01 -07:00
2013-10-07 20:50:57 -07:00
.INTERMEDIATE : $( COVERAGE_INFO )
2013-05-27 16:55:01 -07:00
clean-local :
2015-05-27 17:47:53 -07:00
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ qa/tmp/ cache/ $( OSX_APP)