| ANITA_TAGS := \ |
| anita\:10.0-amd64 anita\:10.0-i386 \ |
| anita\:9.3-amd64 anita\:9.3-i386 anita\:9.3-sparc64 \ |
| anita\:8.2-amd64 anita\:8.2-i386 \ |
| |
| MULTIARCH_TAGS := \ |
| $(foreach a,x86_64 aarch64, \ |
| $(foreach v,34 33 32 31 30 29, \ |
| fedora\:$(v)-$(a))) \ |
| $(foreach a,ppc64le, \ |
| $(foreach v,34 33 29, \ |
| fedora\:$(v)-$(a))) \ |
| $(foreach a,s390x, \ |
| $(foreach v,34 33 32 31 29, \ |
| fedora\:$(v)-$(a))) \ |
| $(foreach a,ppc64el armhf mipsel amd64 i386, \ |
| $(foreach v,bullseye buster, \ |
| debian-debootstrap\:$(a)-$(v))) \ |
| $(foreach a,arm64 mips, \ |
| debian-debootstrap\:$(a)-buster) \ |
| $(foreach a,ppc64el arm64 armhf amd64, \ |
| $(foreach v,jammy focal, \ |
| ubuntu-debootstrap\:$(a)-$(v))) \ |
| $(foreach a,aarch64 armhf amd64 i386, \ |
| $(foreach v,v3.14 v3.13 v3.12 v3.11 v3.10 v3.9 v3.8, \ |
| alpine\:$(a)-$(v))) \ |
| |
| ALMALINUX_TAGS := \ |
| $(foreach a,amd64 arm64v8 ppc64le s390x, \ |
| $(foreach v,8 9, \ |
| $(a)/almalinux\:$(v))) |
| |
| OFFICIAL_TAGS := \ |
| $(foreach a,ppc64le s390x arm64v8 amd64, \ |
| $(foreach v,40 39 38 37 36 35, \ |
| $(a)/fedora\:$(v))) \ |
| $(foreach a,ppc64le mips64le s390x arm64v8 arm32v7 arm32v5 amd64 i386, \ |
| $(foreach v,bookworm, \ |
| $(a)/debian\:$(v))) \ |
| $(foreach a,amd64 arm32v7 arm64v8 ppc64le s390x, \ |
| $(foreach v,noble, \ |
| $(a)/ubuntu\:$(v))) \ |
| $(foreach a,ppc64le s390x arm64v8 arm32v7 arm32v6 amd64 i386, \ |
| $(foreach v,3.19 3.18 3.17 3.16 3.15, \ |
| $(a)/alpine\:$(v))) \ |
| $(ALMALINUX_TAGS) |
| |
| OTHER_TAGS := djgpp\:6.1.0 |
| |
| ALL_TAGS := $(ANITA_TAGS) $(MULTIARCH_TAGS) $(OFFICIAL_TAGS) $(OTHER_TAGS) |
| |
| BROKEN_TAGS := arm64v8/fedora\:35 |
| |
| WORKING_TAGS := $(filter-out $(BROKEN_TAGS),$(ALL_TAGS)) |
| |
| arch_filter = $(sort \ |
| $(foreach arch,$(1), \ |
| $(filter-out $(subst $(arch),,$(MULTIARCH_TAGS) $(OFFICIAL_TAGS)), \ |
| $(MULTIARCH_TAGS) $(OFFICIAL_TAGS)))) |
| |
| machine_map = \ |
| $(if $(filter i386 i686 x86,$(1)),i386 x86, \ |
| $(if $(filter x86_64,$(1)),amd64 i386 x86, \ |
| $(if $(filter armv7l armv6l,$(1)),armhf, \ |
| $(if $(filter aarch64,$(1)),aarch64 arm64, \ |
| $(if $(filter ppc64le,$(1)),ppc64le ppc64el, \ |
| $(if $(filter ppc,$(1)),powerpc, \ |
| $(if $(filter mips,$(1)),mips mipsel, \ |
| $(1)))))))) |
| |
| NATIVE_TAGS := $(call arch_filter,$(call machine_map,$(shell uname -m))) |
| |
| # for now, build all working targets by default |
| DEFAULT_TAGS := $(WORKING_TAGS) |
| |
| default: $(DEFAULT_TAGS) |
| |
| native: $(NATIVE_TAGS) |
| |
| working: $(WORKING_TAGS) |
| |
| all: $(ALL_TAGS) |
| |
| show-default: |
| @printf "%s\n" $(DEFAULT_TAGS) |
| |
| show-native: |
| @printf "%s\n" $(NATIVE_TAGS) |
| |
| show-working: |
| @printf "%s\n" $(WORKING_TAGS) |
| |
| show-all: |
| @printf "%s\n" $(ALL_TAGS) |
| |
| .PHONY: default native all |
| .PHONY: show-default show-native show-all |
| .PHONY: $(ALL_TAGS) |