Makefile: Add macro to disable unsupported programmers

`mark_unsupported` disables all programmers passed as arguments and
adds them to the UNSUPPORTED_FEATURES list. It's conveniently used
with our dependency lists, e.g.

    $(call mark_unsupported,$(NEEDS_LIBUSB1) $(NEEDS_LIBFTDI))

Change-Id: I6c9b66dfa89ec3d71675576d03fcebfdea30ce7b
Signed-off-by: Nico Huber <nico.h@gmx.de>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55873
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71405
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/Makefile b/Makefile
index 34da0c1..79f1004 100644
--- a/Makefile
+++ b/Makefile
@@ -133,6 +133,13 @@
 DEPENDS_ON_LIBJAYLINK := \
 	CONFIG_JLINK_SPI \
 
+define mark_unsupported
+$(foreach p,$1, \
+	$(if $(filter $($(p)),yes), \
+		$(eval UNSUPPORTED_FEATURES += $(p)=yes), \
+		$(eval override $(p) := no)))
+endef
+
 ###############################################################################
 # General OS-specific settings.
 # 1. Prepare for later by gathering information about host and target OS