2016-09-22 00:31:23 +02:00
# Copyright (c) 2013-2016 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
2014-09-14 01:09:25 +02:00
ACLOCAL_AMFLAGS = -I build-aux/m4
2013-05-28 01:55:01 +02:00
SUBDIRS = src
2016-08-27 01:09:22 +02:00
i f E N A B L E _ M A N
SUBDIRS += doc/man
e n d i f
2014-06-11 04:26:50 +02:00
.PHONY : deploy FORCE
2013-05-28 01:55:01 +02:00
GZIP_ENV = "-9n"
2015-12-17 22:43:56 +01:00
export PYTHONPATH
2013-05-28 01:55:01 +02:00
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
2016-04-01 18:19:28 +02: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 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-12-10 22:49:27 +01:00
empty :=
space := $( empty) $( empty)
2015-06-01 15:42:34 +02:00
OSX_APP = Bitcoin-Qt.app
2015-12-10 22:49:27 +01:00
OSX_VOLNAME = $( subst $( space) ,-,$( PACKAGE_NAME) )
OSX_DMG = $( OSX_VOLNAME) .dmg
OSX_BACKGROUND_SVG = background.svg
2015-01-20 01:10:44 +01:00
OSX_BACKGROUND_IMAGE = background.tiff
2015-12-10 22:49:27 +01:00
OSX_BACKGROUND_IMAGE_DPIS = 36 72
OSX_DSSTORE_GEN = $( top_srcdir) /contrib/macdeploy/custom_dsstore.py
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
OSX_INSTALLER_ICONS = $( top_srcdir) /src/qt/res/icons/bitcoin.icns
2016-06-02 04:19:29 +02:00
OSX_PLIST = $( top_builddir) /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)
2016-08-24 03:23:52 +02:00
DIST_CONTRIB = $( top_srcdir) /contrib/bitcoin-cli.bash-completion \
$( top_srcdir) /contrib/bitcoin-tx.bash-completion \
$( top_srcdir) /contrib/bitcoind.bash-completion \
$( top_srcdir) /contrib/init \
$( top_srcdir) /contrib/rpm
2014-01-21 17:12:34 +01:00
2016-01-26 20:52:56 +01:00
BIN_CHECKS = $( top_srcdir) /contrib/devtools/symbol-check.py \
$( top_srcdir) /contrib/devtools/security-check.py
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-12-10 22:49:27 +01:00
OSX_PACKAGING = $( OSX_DEPLOY_SCRIPT) $( OSX_FANCY_PLIST) $( OSX_INSTALLER_ICONS) \
$( top_srcdir) /contrib/macdeploy/$( OSX_BACKGROUND_SVG) \
$( OSX_DSSTORE_GEN) \
2014-11-22 01:26:45 +01:00
$( top_srcdir) /contrib/macdeploy/detached-sig-apply.sh \
$( top_srcdir) /contrib/macdeploy/detached-sig-create.sh
2013-05-28 01:55:01 +02:00
2016-08-13 16:03:44 +02:00
COVERAGE_INFO = baseline_filtered_combined.info baseline.info \
2013-05-28 01:55:01 +02:00
leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
2017-03-09 15:44:57 +01:00
baseline_filtered.info functional_test.info functional_test_filtered.info \
2013-05-28 01:55:01 +02:00
leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info
dist-hook :
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
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
$(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-12-10 22:49:27 +01:00
$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings :
2015-06-02 13:24:22 +02:00
$( MKDIR_P) $( @D)
2015-12-10 22:49:27 +01:00
echo '{ CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@
2015-06-02 13:24:22 +02:00
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
2015-12-10 22:49:27 +01:00
osx_volname :
echo $( OSX_VOLNAME) >$@
2013-12-07 00:13:25 +01:00
i f B U I L D _ D A R W I N
2016-06-03 22:36:26 +02:00
$(OSX_DMG) : $( OSX_APP_BUILT ) $( OSX_PACKAGING ) $( OSX_BACKGROUND_IMAGE )
2016-03-20 18:51:52 +01: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-28 01:55:01 +02:00
2016-06-03 22:36:26 +02:00
$(OSX_BACKGROUND_IMAGE).png : contrib /macdeploy /$( OSX_BACKGROUND_SVG )
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < " $< " | $( RSVG_CONVERT) -f png -d 36 -p 36 -o $@
$(OSX_BACKGROUND_IMAGE)@2x.png : contrib /macdeploy /$( OSX_BACKGROUND_SVG )
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < " $< " | $( RSVG_CONVERT) -f png -d 72 -p 72 -o $@
$(OSX_BACKGROUND_IMAGE) : $( OSX_BACKGROUND_IMAGE ) .png $( OSX_BACKGROUND_IMAGE ) @2x .png
tiffutil -cathidpicheck $^ -out $@
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-12-10 22:49:27 +01:00
$( GENISOIMAGE) -no-cache-inodes -D -l -probe -V " $( OSX_VOLNAME) " -no-pad -r -dir-mode 0755 -apple -o $@ dist
2014-05-31 01:17:55 +02:00
2015-12-10 22:49:27 +01:00
dpi%.$(OSX_BACKGROUND_IMAGE) : contrib /macdeploy /$( OSX_BACKGROUND_SVG )
2015-12-17 21:40:05 +01:00
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < " $< " | $( RSVG_CONVERT) -f png -d $* -p $* | $( IMAGEMAGICK_CONVERT) - $@
2015-12-10 22:49:27 +01: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-31 01:17:55 +02:00
$( MKDIR_P) $( @D)
2015-12-10 22:49:27 +01:00
$( TIFFCP) -c none $( OSX_BACKGROUND_IMAGE_DPIFILES) $@
$(APP_DIST_DIR)/.DS_Store : $( OSX_DSSTORE_GEN )
2016-03-20 18:51:52 +01:00
$( PYTHON) $< " $@ " " $( OSX_VOLNAME) "
2014-05-31 01:17:55 +02:00
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt : $( OSX_APP_BUILT ) $( OSX_PACKAGING )
2016-03-20 18:51:52 +01: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-31 01:17:55 +02:00
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 $@
2017-03-09 15:44:57 +01:00
functional_test.info : test_bitcoin_filtered .info
2017-03-09 15:55:12 +01:00
-@TIMEOUT= 15 python test/functional/test_runner.py $( EXTENDED_FUNCTIONAL_TESTS)
2017-03-09 15:44:57 +01:00
$( LCOV) -c -d $( abs_builddir) /src --t functional-tests -o $@
2015-10-11 18:29:42 +02:00
$( LCOV) -z -d $( abs_builddir) /src
$( LCOV) -z -d $( abs_builddir) /src/leveldb
2017-03-09 15:44:57 +01:00
functional_test_filtered.info : functional_test .info
2015-10-11 18:29:42 +02:00
$( 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 $@
2017-03-09 15:44:57 +01:00
total_coverage.info : baseline_filtered_combined .info test_bitcoin_filtered .info functional_test_filtered .info
$( LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a functional_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
2015-07-11 05:39:45 +02:00
dist_noinst_SCRIPTS = autogen.sh
2017-03-09 15:53:26 +01:00
EXTRA_DIST = $( top_srcdir) /share/genbuild.sh test/functional/test_runner.py test/functional $( DIST_CONTRIB) $( DIST_DOCS) $( WINDOWS_PACKAGING) $( OSX_PACKAGING) $( BIN_CHECKS)
2013-05-28 01:55:01 +02:00
2017-03-08 23:46:18 +01:00
EXTRA_DIST += \
test/util/bctest.py \
test/util/bitcoin-util-test.py \
test/util/data/bitcoin-util-test.json \
test/util/data/blanktxv1.hex \
test/util/data/blanktxv1.json \
test/util/data/blanktxv2.hex \
test/util/data/blanktxv2.json \
test/util/data/tt-delin1-out.hex \
test/util/data/tt-delin1-out.json \
test/util/data/tt-delout1-out.hex \
test/util/data/tt-delout1-out.json \
test/util/data/tt-locktime317000-out.hex \
test/util/data/tt-locktime317000-out.json \
test/util/data/tx394b54bb.hex \
test/util/data/txcreate1.hex \
test/util/data/txcreate1.json \
test/util/data/txcreate2.hex \
test/util/data/txcreate2.json \
test/util/data/txcreatedata1.hex \
test/util/data/txcreatedata1.json \
test/util/data/txcreatedata2.hex \
test/util/data/txcreatedata2.json \
test/util/data/txcreatedata_seq0.hex \
test/util/data/txcreatedata_seq0.json \
test/util/data/txcreatedata_seq1.hex \
test/util/data/txcreatedata_seq1.json \
test/util/data/txcreatemultisig1.hex \
test/util/data/txcreatemultisig1.json \
test/util/data/txcreatemultisig2.hex \
test/util/data/txcreatemultisig2.json \
test/util/data/txcreatemultisig3.hex \
test/util/data/txcreatemultisig3.json \
test/util/data/txcreatemultisig4.hex \
test/util/data/txcreatemultisig4.json \
test/util/data/txcreateoutpubkey1.hex \
test/util/data/txcreateoutpubkey1.json \
test/util/data/txcreateoutpubkey2.hex \
test/util/data/txcreateoutpubkey2.json \
test/util/data/txcreateoutpubkey3.hex \
test/util/data/txcreateoutpubkey3.json \
test/util/data/txcreatescript1.hex \
test/util/data/txcreatescript1.json \
test/util/data/txcreatescript2.hex \
test/util/data/txcreatescript2.json \
test/util/data/txcreatescript3.hex \
test/util/data/txcreatescript3.json \
test/util/data/txcreatescript4.hex \
test/util/data/txcreatescript4.json \
test/util/data/txcreatesignv1.hex \
test/util/data/txcreatesignv1.json \
test/util/data/txcreatesignv2.hex
2014-04-23 22:07:31 +02:00
CLEANFILES = $( OSX_DMG) $( BITCOIN_WIN_INSTALLER)
2013-05-28 01:55:01 +02:00
2017-03-08 23:46:18 +01:00
# This file is problematic for out-of-tree builds if it exists.
DISTCLEANFILES = test/util/buildenv.pyc
2013-10-08 05:50:57 +02:00
.INTERMEDIATE : $( COVERAGE_INFO )
2013-05-28 01:55:01 +02:00
2016-08-27 01:09:22 +02:00
DISTCHECK_CONFIGURE_FLAGS = --enable-man
2013-05-28 01:55:01 +02:00
clean-local :
2017-03-08 21:56:30 +01:00
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $( OSX_APP)
2017-03-09 15:53:26 +01:00
rm -rf test/functional/__pycache__