blob: 2f949cb1a7b9165940ca1fe6118a70cc5d737992 [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 Hubera26907d2025-03-02 16:02:41 +010037 $(foreach v,3.22 3.21 3.20 3.19 3.18 3.17 3.16 3.15, \
Nico Huberf137f442023-03-03 17:12:14 +000038 $(a)/alpine\:$(v))) \
39
Nico Huberc0b52db2022-12-15 12:42:32 +000040OTHER_TAGS := djgpp\:6.1.0
41
Nico Huber19e34a82025-03-03 12:04:11 +010042ALL_TAGS := $(ANITA_TAGS) $(OFFICIAL_TAGS) $(MULTIARCH_TAGS) $(OTHER_TAGS)
Nico Huberc0b52db2022-12-15 12:42:32 +000043
Nico Huber1b20b7f2025-11-22 12:19:07 +000044BROKEN_TAGS := arm64v8/fedora\:35 arm32v6/alpine\:3.15 alpine\:armhf-v3.14
Nico Huberc0b52db2022-12-15 12:42:32 +000045
46WORKING_TAGS := $(filter-out $(BROKEN_TAGS),$(ALL_TAGS))
47
48arch_filter = $(sort \
49 $(foreach arch,$(1), \
Nico Huberefad6102024-11-10 15:07:16 +010050 $(filter-out $(subst $(arch),,$(ALL_TAGS)), $(ALL_TAGS))))
Nico Huberc0b52db2022-12-15 12:42:32 +000051
52machine_map = \
53 $(if $(filter i386 i686 x86,$(1)),i386 x86, \
54 $(if $(filter x86_64,$(1)),amd64 i386 x86, \
55 $(if $(filter armv7l armv6l,$(1)),armhf, \
56 $(if $(filter aarch64,$(1)),aarch64 arm64, \
57 $(if $(filter ppc64le,$(1)),ppc64le ppc64el, \
58 $(if $(filter ppc,$(1)),powerpc, \
59 $(if $(filter mips,$(1)),mips mipsel, \
60 $(1))))))))
61
62NATIVE_TAGS := $(call arch_filter,$(call machine_map,$(shell uname -m)))
63
Nico Huber8eb900e2025-03-03 22:02:07 +010064# for now, build all working targets by default,
65# native targets last (faster, better for parallelization)
66DEFAULT_TAGS := \
67 $(filter-out $(NATIVE_TAGS),$(WORKING_TAGS)) \
68 $(filter $(NATIVE_TAGS),$(WORKING_TAGS))
Nico Huberc0b52db2022-12-15 12:42:32 +000069
Nico Huberc0b52db2022-12-15 12:42:32 +000070default: $(DEFAULT_TAGS)
71
72native: $(NATIVE_TAGS)
73
74working: $(WORKING_TAGS)
75
76all: $(ALL_TAGS)
77
Nico Huberc0b52db2022-12-15 12:42:32 +000078show-default:
79 @printf "%s\n" $(DEFAULT_TAGS)
80
81show-native:
82 @printf "%s\n" $(NATIVE_TAGS)
83
84show-working:
85 @printf "%s\n" $(WORKING_TAGS)
86
87show-all:
88 @printf "%s\n" $(ALL_TAGS)
89
Nico Huber3127db12024-04-21 15:46:19 +020090.PHONY: default native all
91.PHONY: show-default show-native show-all
Nico Huberc0b52db2022-12-15 12:42:32 +000092.PHONY: $(ALL_TAGS)