Skip to content

Commit 65c7184

Browse files
committed
external: Add bootlin cross toolchains
1 parent 9b70012 commit 65c7184

1 file changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
host_arch=$(shell uname -m)
2+
ifeq ($(host_arch),x86_64)
3+
4+
# $1 = arch, $2 = version
5+
define TEMPLATE =
6+
$(1)--$(2):
7+
rm -f $(1)--$(2).tar.bz2
8+
wget --no-verbose https://toolchains.bootlin.com/downloads/releases/toolchains/$(1)/tarballs/$(1)--$(2).tar.bz2
9+
tar -xf $(1)--$(2).tar.bz2
10+
touch $$@
11+
rm -f $(1)--$(2).tar.bz2
12+
13+
ALL_version_$(2) += $(1)--$(2)
14+
ALL_arch_$(1) += $(1)--$(2)
15+
ALL_TARGETS += $(1)--$(2)
16+
endef
17+
18+
ARCHES := powerpc-440fp \
19+
powerpc-e300c3 \
20+
powerpc-e500mc \
21+
powerpc64-e5500 \
22+
powerpc64-e6500 \
23+
powerpc64-power8 \
24+
powerpc64le-power8
25+
26+
VERSIONS := glibc--stable-2024.02-1
27+
28+
DEFAULT := powerpc64-power8--glibc--stable-2024.02-1 powerpc64le-power8--glibc--stable-2024.02-1
29+
30+
help:
31+
@echo "bootlin-toolchains"
32+
@echo "Available targets:"
33+
@echo " download # download and unpack toolchains"
34+
@echo ' download-all-$$arch # download all toolchains for arch'
35+
@echo ' download-all-$$version # download all toolchains for version'
36+
@echo ""
37+
else
38+
help:
39+
@echo "bootlin-toolchains"
40+
@echo "No toolchains available for this architecture"
41+
endif
42+
43+
44+
$(foreach arch,${ARCHES}, \
45+
$(foreach version,${VERSIONS}, \
46+
$(eval $(call TEMPLATE,${arch},${version})) \
47+
) \
48+
)
49+
50+
$(foreach arch,${ARCHES}, \
51+
$(eval download-all-$(arch): $(ALL_arch_$(arch))) \
52+
)
53+
54+
$(foreach version,${VERSIONS}, \
55+
$(eval download-all-$(version): $(ALL_version_$(version))) \
56+
)
57+
58+
download-all: $(ALL_TARGETS)
59+
60+
CLEAN_DIRS := $(patsubst %,%--*,$(ARCHES))
61+
62+
download: $(DEFAULT)
63+
64+
prepare: download
65+
66+
build:
67+
68+
clean:
69+
@:
70+
71+
distclean: clean
72+
rm -rf $(CLEAN_DIRS) *.tar.xz
73+
74+
.PHONY: download prepare build clean distclean help

0 commit comments

Comments
 (0)