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 \
	anita\:7.1-amd64 anita\:7.1-i386 \

MULTIARCH_TAGS := \
	centos\:7.6-armhfp-clean centos\:7.6-amd64-clean \
	centos\:7.3-aarch64-clean centos\:7.3-amd64-clean \
	centos\:7.2-amd64-clean \
	$(foreach a,x86_64 aarch64, \
	  $(foreach v,34 33 32 31 30 29 25 24, \
	    fedora\:$(v)-$(a))) \
	$(foreach a,ppc64le, \
	  $(foreach v,34 33 29 25 24, \
	    fedora\:$(v)-$(a))) \
	$(foreach a,s390x, \
	  $(foreach v,34 33 32 31 30 29, \
	    fedora\:$(v)-$(a))) \
	fedora\:28-armhfp \
	$(foreach a,ppc64el armhf mipsel amd64 i386, \
	  $(foreach v,bullseye buster stretch, \
	    debian-debootstrap\:$(a)-$(v))) \
	$(foreach a,arm64 mips, \
	  $(foreach v,buster stretch, \
	    debian-debootstrap\:$(a)-$(v))) \
	$(foreach a,ppc64el arm64 armhf amd64, \
	  $(foreach v,jammy focal bionic xenial, \
	    ubuntu-debootstrap\:$(a)-$(v))) \
	$(foreach a,i386, \
	  $(foreach v,bionic xenial, \
	    ubuntu-debootstrap\:$(a)-$(v))) \
	ubuntu-debootstrap\:powerpc-xenial \
	$(foreach a,aarch64 armhf amd64 i386, \
	  $(foreach v,v3.14 v3.13 v3.12 v3.11 v3.10 v3.9 v3.8 v3.7 v3.6, \
	    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,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 := anita\:7.1-amd64 anita\:7.1-i386 \
	       centos\:7.6-armhfp-clean \
	       arm64v8/fedora\:35 fedora\:30-s390x fedora\:28-armhfp \

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 \
	centos\:7.6-amd64-clean \
	debian-debootstrap\:amd64-stretch \
	debian-debootstrap\:arm64-stretch \
	debian-debootstrap\:armhf-stretch \
	debian-debootstrap\:i386-stretch \
	debian-debootstrap\:mipsel-stretch \
	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-bionic \
	ubuntu-debootstrap\:arm64-bionic \
	ubuntu-debootstrap\:i386-bionic \
	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)
