aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheCharlatan <seb.kung@gmail.com>2018-10-16 03:39:17 +0200
committerTheCharlatan <seb.kung@gmail.com>2018-10-16 03:39:17 +0200
commite623f2b225106933cf26330fc4814d50a5d72bfb (patch)
tree9c5b3f0537b66fce25e4fd0cf74c04c76c17ca12
parentMerge pull request #4502 (diff)
downloadmonero-e623f2b225106933cf26330fc4814d50a5d72bfb.tar.xz
Add building with depends to the Makefile
Depends can now be compiled with `make depends target=$triple`, where $triple is one of the supported build targets. Adapt the Makefile for this change, remove not needed windows deps from depends setup description.
-rw-r--r--Makefile4
-rw-r--r--README.md21
2 files changed, 13 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 40b8839cc..c858412e6 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,10 @@ endif
all: release-all
+depends:
+ cd contrib/depends && $(MAKE) HOST=$(target) && cd ../.. && mkdir -p build/$(target)/release
+ cd build/$(target)/release && cmake -DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/contrib/depends/$(target)/share/toolchain.cmake ../../.. && $(MAKE)
+
cmake-debug:
mkdir -p $(builddir)/debug
cd $(builddir)/debug && cmake -D CMAKE_BUILD_TYPE=Debug $(topdir)
diff --git a/README.md b/README.md
index 4b5dd0629..c9418f81c 100644
--- a/README.md
+++ b/README.md
@@ -494,22 +494,19 @@ By default, in either dynamically or statically linked builds, binaries target t
### Cross Compiling
-You can also cross-compile static binaries on Linux for Windows and macOS with the `depends` system. Go to `contrib/depends` and type:
+You can also cross-compile static binaries on Linux for Windows and macOS with the `depends` system.
-* ```make HOST=x86_64-linux-gnu``` for 64-bit linux binaries.
-* ```make HOST=x86_64-w64-mingw32``` for 64-bit windows binaries. Requires: python3 nsis g++-mingw-w64-x86-64 wine1.6 bc
-* ```make HOST=x86_64-apple-darwin11``` for darwin binaries. Requires: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev
-* ```make HOST=i686-linux-gnu``` for 32-bit linux binaries. Requires: g++-multilib bc
-* ```make HOST=i686-w64-mingw32``` for 32-bit windows binaries. Requires: python3 nsis g++-mingw-w64-i686
-* ```make HOST=arm-linux-gnueabihf``` for armv6 binaries. Requires: g++-arm-linux-gnueabihf
+* ```make depends target=x86_64-linux-gnu``` for 64-bit linux binaries.
+* ```make depends target=x86_64-w64-mingw32``` for 64-bit windows binaries. Requires: python3 g++-mingw-w64-x86-64 wine1.6 bc
+* ```make depends target=x86_64-apple-darwin11``` for macOS binaries. Requires: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev
+* ```make depends target=i686-linux-gnu``` for 32-bit linux binaries. Requires: g++-multilib bc
+* ```make depends target=i686-w64-mingw32``` for 32-bit windows binaries. Requires: python3 g++-mingw-w64-i686
+* ```make depends target=arm-linux-gnueabihf``` for armv7 binaries. Requires: g++-arm-linux-gnueabihf
+* ```make depends target=aarch64-linux-gnu``` for armv8 binaries. Requires: g++-aarch64-linux-gnu
The required packages are the names for each toolchain on apt. Depending on your distro, they may have different names.
-Then go back to the source dir and type:
-* ```cmake -DCMAKE_TOOLCHAIN_FILE=`pwd`/contrib/depends/<chosen triplet>/share/toolchain.cmake```
-Where <chosen triplet> is one of the above mentioned targets.
-
-Using `depends` might also be easier to compile Monero on Windows than using MSys. Activate Windows Subsystem for Linux (WSL) with a distro (for example Ubuntu), install the apt build-essentials and follow the `depends` steps as depicted above.
+Using `depends` might also be easier to compile Monero on Windows than using MSYS. Activate Windows Subsystem for Linux (WSL) with a distro (for example Ubuntu), install the apt build-essentials and follow the `depends` steps as depicted above.
## Installing Monero from a package