2014-09-14 01:09:25 +02:00
ACLOCAL_AMFLAGS = -I build-aux/m4
2013-05-28 01:55:01 +02:00
SUBDIRS = src
2014-06-11 04:26:50 +02:00
.PHONY : deploy FORCE
2013-05-28 01:55:01 +02:00
GZIP_ENV = "-9n"
2014-11-20 21:45:24 +01: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
2013-05-28 01:55:01 +02:00
BITCOIND_BIN = $( top_builddir) /src/bitcoind$( EXEEXT)
BITCOIN_QT_BIN = $( top_builddir) /src/qt/bitcoin-qt$( EXEEXT)
2014-01-21 17:03:55 +01:00
BITCOIN_CLI_BIN = $( top_builddir) /src/bitcoin-cli$( EXEEXT)
2014-01-21 12:01:37 +01:00
BITCOIN_WIN_INSTALLER = $( PACKAGE) -$( PACKAGE_VERSION) -win$( WINDOWS_BITS) -setup$( EXEEXT)
2013-05-28 01:55:01 +02:00
2015-06-01 15:42:34 +02:00
OSX_APP = Bitcoin-Qt.app
2015-05-07 10:12:27 +02:00
OSX_DMG = Bitcoin-Core.dmg
2015-01-20 01:10:44 +01:00
OSX_BACKGROUND_IMAGE = background.tiff
2013-05-28 01:55:01 +02:00
OSX_DEPLOY_SCRIPT = $( top_srcdir) /contrib/macdeploy/macdeployqtplus
OSX_FANCY_PLIST = $( top_srcdir) /contrib/macdeploy/fancy.plist
2015-06-02 13:24:22 +02:00
OSX_BASE_LPROJ_DIR = $( top_srcdir) /contrib/macdeploy/Base.lproj/InfoPlist.strings
2013-05-28 01:55:01 +02:00
OSX_INSTALLER_ICONS = $( top_srcdir) /src/qt/res/icons/bitcoin.icns
OSX_PLIST = $( top_srcdir) /share/qt/Info.plist #not installed
2013-12-07 00:13:25 +01:00
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
2013-05-28 01:55:01 +02:00
2014-01-31 09:47:18 +01:00
DIST_DOCS = $( wildcard doc/*.md) $( wildcard doc/release-notes/*.md)
2014-01-21 17:12:34 +01:00
2013-05-28 01:55:01 +02: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-06-02 13:24:22 +02:00
OSX_PACKAGING = $( OSX_DEPLOY_SCRIPT) $( OSX_FANCY_PLIST) $( OSX_INSTALLER_ICONS) $( OSX_BASE_LPROJ_DIR) \
2015-01-20 01:10:44 +01:00
$( top_srcdir) /contrib/macdeploy/$( OSX_BACKGROUND_IMAGE) \
2014-11-22 01:26:45 +01:00
$( top_srcdir) /contrib/macdeploy/DS_Store \
$( top_srcdir) /contrib/macdeploy/detached-sig-apply.sh \
$( top_srcdir) /contrib/macdeploy/detached-sig-create.sh
2013-05-28 01:55:01 +02: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 18:29:42 +02:00
baseline_filtered.info block_test_filtered.info rpc_test.info rpc_test_filtered.info \
2013-05-28 01:55:01 +02:00
leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info
dist-hook :
-$( MAKE) -C $( top_distdir) /src/leveldb clean
2014-06-06 16:57:28 +02:00
-$( MAKE) -C $( top_distdir) /src/secp256k1 distclean
2014-10-29 02:33:23 +01:00
-$( GIT) archive --format= tar HEAD -- src/clientversion.cpp | $( AMTAR) -C $( top_distdir) -xf -
2013-05-28 01:55:01 +02: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-05 01:11:46 +02:00
$(BITCOIN_WIN_INSTALLER) : all -recursive
2013-05-28 01:55:01 +02:00
$( MKDIR_P) $( top_builddir) /release
2013-12-07 00:12:19 +01: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 18:02:24 +02:00
@test -f $( MAKENSIS) && $( MAKENSIS) -V2 $( top_builddir) /share/setup.nsi || \
2013-05-28 01:55:01 +02:00
echo error: could not build $@
2015-05-04 18:02:24 +02:00
@echo built $@
2013-05-28 01:55:01 +02:00
2014-06-11 04:26:50 +02:00
$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none) : FORCE
$( MAKE) -C src $( patsubst src/%,%,$@ )
2013-05-28 01:55:01 +02:00
$(OSX_APP)/Contents/PkgInfo :
$( MKDIR_P) $( @D)
@echo "APPL????" > $@
$(OSX_APP)/Contents/Resources/empty.lproj :
$( MKDIR_P) $( @D)
2015-06-02 13:24:22 +02:00
@touch $@
2013-05-28 01:55:01 +02:00
$(OSX_APP)/Contents/Info.plist : $( OSX_PLIST )
$( MKDIR_P) $( @D)
2014-03-24 17:17:29 +01:00
$( INSTALL_DATA) $< $@
2013-05-28 01:55:01 +02:00
$(OSX_APP)/Contents/Resources/bitcoin.icns : $( OSX_INSTALLER_ICONS )
$( MKDIR_P) $( @D)
2014-03-24 17:17:29 +01:00
$( INSTALL_DATA) $< $@
2013-05-28 01:55:01 +02:00
$(OSX_APP)/Contents/MacOS/Bitcoin-Qt : $( BITCOIN_QT_BIN )
$( MKDIR_P) $( @D)
2013-12-07 00:12:19 +01:00
STRIPPROG = " $( STRIP) " $( INSTALL_STRIP_PROGRAM) $< $@
2013-05-28 01:55:01 +02:00
2015-06-02 13:24:22 +02:00
$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings : $( OSX_BASE_LPROJ_DIR )
$( MKDIR_P) $( @D)
$( INSTALL_DATA) $< $@
2013-05-28 01:55:01 +02: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 13:24:22 +02:00
$( OSX_APP) /Contents/MacOS/Bitcoin-Qt $( OSX_APP) /Contents/Resources/Base.lproj/InfoPlist.strings
2013-05-28 01:55:01 +02:00
2013-12-07 00:13:25 +01:00
i f B U I L D _ D A R W I N
2013-05-28 01:55:01 +02:00
$(OSX_DMG) : $( OSX_APP_BUILT ) $( OSX_PACKAGING )
2014-08-04 20:40:19 +02:00
$( OSX_DEPLOY_SCRIPT) $( OSX_APP) -add-qt-tr $( OSX_QT_TRANSLATIONS) -translations-dir= $( QT_TRANSLATION_DIR) -dmg -fancy $( OSX_FANCY_PLIST) -verbose 2
2013-05-28 01:55:01 +02:00
2014-05-31 01:17:55 +02:00
deploydir : $( OSX_DMG )
2013-12-07 00:13:25 +01:00
e l s e
2014-05-31 01:17:55 +02:00
APP_DIST_DIR = $( top_builddir) /dist
2015-01-20 01:10:44 +01:00
APP_DIST_EXTRAS = $( APP_DIST_DIR) /.background/$( OSX_BACKGROUND_IMAGE) $( APP_DIST_DIR) /.DS_Store $( APP_DIST_DIR) /Applications
2014-05-31 01:17:55 +02: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-05-07 10:12:27 +02:00
$( GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o $@ dist
2014-05-31 01:17:55 +02:00
2015-01-20 01:10:44 +01:00
$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE) : contrib /macdeploy /$( OSX_BACKGROUND_IMAGE )
2014-05-31 01:17:55 +02:00
$( MKDIR_P) $( @D)
2015-01-20 01:10:44 +01:00
$( INSTALL) $< $@
$(APP_DIST_DIR)/.DS_Store : contrib /macdeploy /DS_Store
$( INSTALL) $< $@
2014-05-31 01:17:55 +02:00
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt : $( OSX_APP_BUILT ) $( OSX_PACKAGING )
INSTALLNAMETOOL = $( INSTALLNAMETOOL) OTOOL = $( OTOOL) STRIP = $( STRIP) $( OSX_DEPLOY_SCRIPT) $( OSX_APP) -translations-dir= $( QT_TRANSLATION_DIR) -add-qt-tr $( OSX_QT_TRANSLATIONS) -verbose 2
deploydir : $( APP_DIST_EXTRAS )
2013-12-07 00:13:25 +01:00
e n d i f
2013-05-28 01:55:01 +02:00
i f T A R G E T _ D A R W I N
2013-10-08 05:50:57 +02:00
appbundle : $( OSX_APP_BUILT )
2013-05-28 01:55:01 +02: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 23:35:33 +02: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-28 01:55:01 +02: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-27 06:47:12 +01:00
$( MKDIR_P) qa/tmp
2015-10-12 14:29:44 +02: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-28 01:55:01 +02: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 18:29:42 +02: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-28 01:55:01 +02: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 18:29:42 +02: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-28 01:55:01 +02: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-27 06:47:12 +01:00
$( MKDIR_P) qa/tmp
2014-06-18 22:29:51 +02: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-28 01:55:01 +02:00
e n d i f
2015-07-11 05:39:45 +02:00
dist_noinst_SCRIPTS = autogen.sh
2015-08-26 12:05:36 +02:00
EXTRA_DIST = $( top_srcdir) /share/genbuild.sh qa/pull-tester/rpc-tests.py qa/pull-tester/tests_config.py qa/rpc-tests $( DIST_DOCS) $( WINDOWS_PACKAGING) $( OSX_PACKAGING)
2013-05-28 01:55:01 +02:00
2014-04-23 22:07:31 +02:00
CLEANFILES = $( OSX_DMG) $( BITCOIN_WIN_INSTALLER)
2013-05-28 01:55:01 +02:00
2013-10-08 05:50:57 +02:00
.INTERMEDIATE : $( COVERAGE_INFO )
2013-05-28 01:55:01 +02:00
clean-local :
2015-05-28 02:47:53 +02:00
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ qa/tmp/ cache/ $( OSX_APP)