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)))

# rather arbitrary selection of images that seem to work (focus on amd64)
DEFAULT_TAGS := \
	anita\:9.3-amd64 \
	anita\:9.3-i386 \
	anita\:8.2-amd64 \
	anita\:8.2-i386 \
	djgpp\:6.1.0 \
	fedora\:30-aarch64 \
	fedora\:30-x86_64 \
	fedora\:31-x86_64 \
	fedora\:32-aarch64 \
	fedora\:32-x86_64 \
	fedora\:33-ppc64le \
	fedora\:33-x86_64 \
	fedora\:34-aarch64 \
	fedora\:34-ppc64le \
	fedora\:34-s390x \
	fedora\:34-x86_64 \
	debian-debootstrap\:amd64-buster \
	debian-debootstrap\:arm64-buster \
	debian-debootstrap\:armhf-buster \
	debian-debootstrap\:i386-buster \
	debian-debootstrap\:mips-buster \
	debian-debootstrap\:mipsel-buster \
	debian-debootstrap\:ppc64el-buster \
	debian-debootstrap\:amd64-bullseye \
	debian-debootstrap\:armhf-bullseye \
	debian-debootstrap\:i386-bullseye \
	debian-debootstrap\:mipsel-bullseye \
	debian-debootstrap\:ppc64el-bullseye \
	ubuntu-debootstrap\:amd64-focal \
	ubuntu-debootstrap\:arm64-focal \
	ubuntu-debootstrap\:armhf-focal \
	ubuntu-debootstrap\:ppc64el-focal \
	ubuntu-debootstrap\:amd64-jammy \
	ubuntu-debootstrap\:arm64-jammy \
	ubuntu-debootstrap\:armhf-jammy \
	ubuntu-debootstrap\:ppc64el-jammy \
	alpine\:aarch64-v3.9 \
	alpine\:amd64-v3.9 \
	alpine\:i386-v3.9 \
	alpine\:aarch64-v3.10 \
	alpine\:amd64-v3.10 \
	alpine\:armhf-v3.10 \
	alpine\:i386-v3.10 \
	alpine\:aarch64-v3.10 \
	alpine\:amd64-v3.10 \
	alpine\:armhf-v3.10 \
	alpine\:i386-v3.10 \
	alpine\:aarch64-v3.12 \
	alpine\:amd64-v3.12 \
	alpine\:i386-v3.12 \
	alpine\:amd64-v3.14 \
	alpine\:i386-v3.14 \

# also run all native tests by default
DEFAULT_TAGS += $(filter-out $(DEFAULT_TAGS),$(NATIVE_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)
