Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 1 | ################################################################################ |
| 2 | # Toolchains |
| 3 | ################################################################################ |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 4 | ROOT ?= $(CURDIR)/.. |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 5 | TOOLCHAIN_ROOT ?= $(ROOT)/toolchains |
| 6 | |
| 7 | AARCH32_PATH ?= $(TOOLCHAIN_ROOT)/aarch32 |
| 8 | AARCH32_CROSS_COMPILE ?= $(AARCH32_PATH)/bin/arm-linux-gnueabihf- |
Igor Opaniuk | 0554e32 | 2016-12-29 13:40:43 +0200 | [diff] [blame] | 9 | AARCH32_GCC_VERSION ?= gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf |
| 10 | SRC_AARCH32_GCC ?= http://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/arm-linux-gnueabihf/${AARCH32_GCC_VERSION}.tar.xz |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 11 | |
| 12 | AARCH64_PATH ?= $(TOOLCHAIN_ROOT)/aarch64 |
| 13 | AARCH64_CROSS_COMPILE ?= $(AARCH64_PATH)/bin/aarch64-linux-gnu- |
Igor Opaniuk | 0554e32 | 2016-12-29 13:40:43 +0200 | [diff] [blame] | 14 | AARCH64_GCC_VERSION ?= gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu |
| 15 | SRC_AARCH64_GCC ?= http://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/aarch64-linux-gnu/${AARCH64_GCC_VERSION}.tar.xz |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 16 | |
Joakim Bech | 69a8a37 | 2016-04-26 11:05:04 +0200 | [diff] [blame] | 17 | # Due to relocation error on the 96board edk forest, let's keep the old |
| 18 | # toolchain for a while. |
| 19 | LEGACY_AARCH64_PATH ?= $(TOOLCHAIN_ROOT)/aarch64-legacy |
| 20 | LEGACY_AARCH64_CROSS_COMPILE ?= $(LEGACY_AARCH64_PATH)/bin/aarch64-linux-gnu- |
| 21 | LEGACY_AARCH64_GCC_VERSION ?= gcc-linaro-aarch64-linux-gnu-4.9-2014.08_linux |
Victor Chong | 3b11d0f | 2016-11-24 16:55:10 +0000 | [diff] [blame] | 22 | LEGACY_SRC_AARCH64_GCC ?= http://releases.linaro.org/archive/14.08/components/toolchain/binaries/${LEGACY_AARCH64_GCC_VERSION}.tar.xz |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 23 | |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 24 | # Download toolchain macro for saving some repetition |
| 25 | # $(1) is $AARCH.._PATH : i.e., path to the destination |
| 26 | # $(2) is $SRC_AARCH.._GCC : is the downloaded tar.gz file |
| 27 | # $(3) is $.._GCC_VERSION : the name of the file to download |
| 28 | define dltc |
| 29 | @if [ ! -d "$(1)" ]; then \ |
| 30 | mkdir -p $(1); \ |
| 31 | echo "Downloading $(3) ..."; \ |
| 32 | curl -s -L $(2) -o $(TOOLCHAIN_ROOT)/$(3).tar.xz; \ |
| 33 | tar xf $(TOOLCHAIN_ROOT)/$(3).tar.xz -C $(1) --strip-components=1; \ |
| 34 | fi |
| 35 | endef |
| 36 | |
| 37 | .PHONY: toolchains |
Joakim Bech | 42807a7 | 2017-01-27 10:43:28 +0100 | [diff] [blame] | 38 | toolchains: aarch32 aarch64 aarch64-legacy |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 39 | |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 40 | .PHONY: aarch32 |
Joakim Bech | 42807a7 | 2017-01-27 10:43:28 +0100 | [diff] [blame] | 41 | aarch32: |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 42 | $(call dltc,$(AARCH32_PATH),$(SRC_AARCH32_GCC),$(AARCH32_GCC_VERSION)) |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 43 | |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 44 | .PHONY: aarch64 |
Joakim Bech | 42807a7 | 2017-01-27 10:43:28 +0100 | [diff] [blame] | 45 | aarch64: |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 46 | $(call dltc,$(AARCH64_PATH),$(SRC_AARCH64_GCC),$(AARCH64_GCC_VERSION)) |
Joakim Bech | 42807a7 | 2017-01-27 10:43:28 +0100 | [diff] [blame] | 47 | |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 48 | .PHONY: aarch64-legacy |
Joakim Bech | 42807a7 | 2017-01-27 10:43:28 +0100 | [diff] [blame] | 49 | aarch64-legacy: |
Joakim Bech | c960663 | 2017-01-27 11:50:49 +0100 | [diff] [blame^] | 50 | $(call dltc,$(LEGACY_AARCH64_PATH),$(LEGACY_SRC_AARCH64_GCC),$(LEGACY_AARCH64_GCC_VERSION)) |
Joakim Bech | 427dd63 | 2015-05-04 15:52:33 +0200 | [diff] [blame] | 51 | |