blob: d2c69cebfd66f46a193ee06f3256b2c9062d2b59 [file] [log] [blame]
Nico Huberc0b52db2022-12-15 12:42:32 +00001ANITA_TAGS := \
Nico Huber45a89602025-11-21 22:33:31 +00002 anita\:10.1-sparc64 anita\:10.0-amd64 anita\:10.0-i386 \
3 anita\:9.3-amd64 anita\:9.3-i386 \
Nico Huberc0b52db2022-12-15 12:42:32 +00004
5MULTIARCH_TAGS := \
Nico Huber73bef722025-03-02 16:01:52 +01006 $(foreach a,x86_64 aarch64 ppc64le s390x, \
7 $(foreach v,34 33, \
Nico Huber1457cc62024-11-09 22:49:59 +01008 fedora\:$(v)-$(a))) \
Nico Huber3c16b702025-11-16 16:47:39 +00009 $(foreach a,armhf amd64 i386, \
10 debian-debootstrap\:$(a)-bullseye) \
Nico Huberc0b52db2022-12-15 12:42:32 +000011 $(foreach a,ppc64el arm64 armhf amd64, \
Nico Huber1457cc62024-11-09 22:49:59 +010012 $(foreach v,jammy focal, \
Nico Huberc0b52db2022-12-15 12:42:32 +000013 ubuntu-debootstrap\:$(a)-$(v))) \
Nico Huberc0b52db2022-12-15 12:42:32 +000014 $(foreach a,aarch64 armhf amd64 i386, \
Nico Huber73bef722025-03-02 16:01:52 +010015 $(foreach v,v3.14 v3.13 v3.12, \
Nico Huberc0b52db2022-12-15 12:42:32 +000016 alpine\:$(a)-$(v))) \
17
Nico Huber59848a92023-03-04 00:41:18 +000018ALMALINUX_TAGS := \
19 $(foreach a,amd64 arm64v8 ppc64le s390x, \
Nico Hubera26907d2025-03-02 16:02:41 +010020 $(foreach v,8 9 10-kitten, \
Nico Huber59848a92023-03-04 00:41:18 +000021 $(a)/almalinux\:$(v)))
22
Nico Huberf137f442023-03-03 17:12:14 +000023OFFICIAL_TAGS := \
Nico Huber19e34a82025-03-03 12:04:11 +010024 $(ALMALINUX_TAGS) \
Nico Huber2044af02023-03-04 00:40:47 +000025 $(foreach a,ppc64le s390x arm64v8 amd64, \
Nico Hubera26907d2025-03-02 16:02:41 +010026 $(foreach v,44 43 42 41 40 39 38 37 36 35, \
Nico Huber2044af02023-03-04 00:40:47 +000027 $(a)/fedora\:$(v))) \
Nico Huber494561a2023-03-03 17:12:32 +000028 $(foreach a,ppc64le mips64le s390x arm64v8 arm32v7 arm32v5 amd64 i386, \
Nico Huber3c16b702025-11-16 16:47:39 +000029 $(a)/debian\:bookworm) \
30 $(foreach a,ppc64le riscv64 s390x arm64v8 arm32v7 arm32v5 amd64 i386, \
31 $(a)/debian\:trixie) \
Nico Huber1faffa52024-11-09 22:44:53 +010032 $(foreach a,amd64 arm32v7 arm64v8 ppc64le s390x, \
Nico Huber6f04c712025-11-22 12:20:17 +000033 $(a)/ubuntu\:noble) \
34 $(foreach a,amd64 arm32v7 arm64v8 ppc64le riscv64 s390x, \
35 $(a)/ubuntu\:resolute) \
Nico Huberf137f442023-03-03 17:12:14 +000036 $(foreach a,ppc64le s390x arm64v8 arm32v7 arm32v6 amd64 i386, \
Nico Huber9ba51692026-08-02 16:36:32 +000037 $(foreach v,3.20 3.19 3.18 3.17 3.16 3.15, \
38 $(a)/alpine\:$(v))) \
39 $(foreach a,ppc64le riscv64 s390x arm64v8 arm32v7 arm32v6 amd64 i386, \
40 $(foreach v,3.24 3.23 3.22 3.21, \
Nico Huberf137f442023-03-03 17:12:14 +000041 $(a)/alpine\:$(v))) \
42
Arthur Heymans81deae92026-06-24 23:01:30 +020043OTHER_TAGS := djgpp\:12.2.0
Nico Huberc0b52db2022-12-15 12:42:32 +000044
Nico Hubere332db72025-03-01 13:45:56 +010045NONCROSS_TAGS := $(ANITA_TAGS) $(OFFICIAL_TAGS) $(MULTIARCH_TAGS) $(OTHER_TAGS)
46
47
48ANDROID_TAGS := \
49 $(foreach v,23 35, \
50 $(foreach p,armv7a-linux-androideabi \
51 $(foreach a,aarch64 i686 x86_64,$(a)-linux-android), \
52 cross-$(p)$(v)-clang))
53
54CROSS_TAGS := $(ANDROID_TAGS)
55
56
57ALL_TAGS := $(NONCROSS_TAGS) $(CROSS_TAGS)
Nico Huberc0b52db2022-12-15 12:42:32 +000058
Nico Huber1b20b7f2025-11-22 12:19:07 +000059BROKEN_TAGS := arm64v8/fedora\:35 arm32v6/alpine\:3.15 alpine\:armhf-v3.14
Nico Huberc0b52db2022-12-15 12:42:32 +000060
61WORKING_TAGS := $(filter-out $(BROKEN_TAGS),$(ALL_TAGS))
62
63arch_filter = $(sort \
64 $(foreach arch,$(1), \
Nico Huberefad6102024-11-10 15:07:16 +010065 $(filter-out $(subst $(arch),,$(ALL_TAGS)), $(ALL_TAGS))))
Nico Huberc0b52db2022-12-15 12:42:32 +000066
67machine_map = \
68 $(if $(filter i386 i686 x86,$(1)),i386 x86, \
69 $(if $(filter x86_64,$(1)),amd64 i386 x86, \
70 $(if $(filter armv7l armv6l,$(1)),armhf, \
71 $(if $(filter aarch64,$(1)),aarch64 arm64, \
72 $(if $(filter ppc64le,$(1)),ppc64le ppc64el, \
73 $(if $(filter ppc,$(1)),powerpc, \
74 $(if $(filter mips,$(1)),mips mipsel, \
75 $(1))))))))
76
77NATIVE_TAGS := $(call arch_filter,$(call machine_map,$(shell uname -m)))
78
Nico Huber8eb900e2025-03-03 22:02:07 +010079# for now, build all working targets by default,
80# native targets last (faster, better for parallelization)
81DEFAULT_TAGS := \
82 $(filter-out $(NATIVE_TAGS),$(WORKING_TAGS)) \
83 $(filter $(NATIVE_TAGS),$(WORKING_TAGS))
Nico Huberc0b52db2022-12-15 12:42:32 +000084
Nico Huberc0b52db2022-12-15 12:42:32 +000085default: $(DEFAULT_TAGS)
86
87native: $(NATIVE_TAGS)
88
89working: $(WORKING_TAGS)
90
Nico Hubere332db72025-03-01 13:45:56 +010091cross: $(CROSS_TAGS)
92
Nico Huberc0b52db2022-12-15 12:42:32 +000093all: $(ALL_TAGS)
94
Nico Huberc0b52db2022-12-15 12:42:32 +000095show-default:
96 @printf "%s\n" $(DEFAULT_TAGS)
97
98show-native:
99 @printf "%s\n" $(NATIVE_TAGS)
100
101show-working:
102 @printf "%s\n" $(WORKING_TAGS)
103
Nico Hubere332db72025-03-01 13:45:56 +0100104show-cross:
105 @printf "%s\n" $(CROSS_TAGS)
106
Nico Huberc0b52db2022-12-15 12:42:32 +0000107show-all:
108 @printf "%s\n" $(ALL_TAGS)
109
Nico Huber3127db12024-04-21 15:46:19 +0200110.PHONY: default native all
111.PHONY: show-default show-native show-all
Nico Huberc0b52db2022-12-15 12:42:32 +0000112.PHONY: $(ALL_TAGS)