Attention is currently required from: Edward O'Callaghan, Angel Pons. Hello Edward O'Callaghan, Angel Pons,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/flashrom/+/52024
to review the following change.
Change subject: [RFC] Makefile: Deflate dependency handling ......................................................................
[RFC] Makefile: Deflate dependency handling
Change-Id: I33049474a95d288c9a84e412633c99fbc251ac03 Signed-off-by: Nico Huber nico.huber@secunet.com --- M Makefile 1 file changed, 97 insertions(+), 487 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/24/52024/1
diff --git a/Makefile b/Makefile index 6d37d55..570383a 100644 --- a/Makefile +++ b/Makefile @@ -87,6 +87,70 @@ { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE))
############################################################################### +# Dependency handling. + +NEEDS_LIBPCI := \ + CONFIG_INTERNAL \ + CONFIG_NIC3COM \ + CONFIG_GFXNVIDIA \ + CONFIG_SATASII \ + CONFIG_ATAHPT \ + CONFIG_ATAVIA \ + CONFIG_ATAPROMISE \ + CONFIG_ENE_LPC \ + CONFIG_IT8212 \ + CONFIG_DRKAISER \ + CONFIG_MEC1308 \ + CONFIG_NICREALTEK \ + CONFIG_NICNATSEMI \ + CONFIG_NICINTEL \ + CONFIG_NICINTEL_SPI \ + CONFIG_NICINTEL_EEPROM \ + CONFIG_OGP_SPI \ + CONFIG_SATAMV \ + +NEEDS_LIBUSB1 := \ + CONFIG_CH341A_SPI \ + CONFIG_DEDIPROG \ + CONFIG_DEVELOPERBOX_SPI \ + CONFIG_DIGILENT_SPI \ + CONFIG_PICKIT2_SPI \ + CONFIG_STLINKV3_SPI \ + +NEEDS_LIBFTDI := \ + CONFIG_FT2232_SPI \ + CONFIG_USBBLASTER_SPI \ + +NEEDS_LIBJAYLINK := \ + CONFIG_JLINK_SPI \ + +define process_unsupported +$(foreach p,$1, \ + $(if $(filter yes,$($(p))), \ + $(eval UNSUPPORTED_FEATURES += $(p)=yes), + $(eval override $(p) := no))) +endef + +define filter_deps +$(foreach p,$1, \ + $(if $(filter yes,$($(p))), \ + $(p))) +endef + +define disable_all +$(foreach p,$1, \ + $(eval override $(p) := no)) +endef + +ifeq ($(CONFIG_ENABLE_LIBUSB1_PROGRAMMERS), no) +$(call disable_all,$(NEEDS_LIBUSB1)) +endif + +ifeq ($(CONFIG_ENABLE_LIBPCI_PROGRAMMERS), no) +$(call disable_all,$(NEEDS_LIBPCI)) +endif + +############################################################################### # General OS-specific settings. # 1. Prepare for later by gathering information about host and target OS # 2. Set compiler flags and parameters according to OSes @@ -141,88 +205,11 @@ override CFLAGS += -Wno-format LIBS += -lgetopt # Bus Pirate, Serprog and PonyProg are not supported under DOS (missing serial support). -ifeq ($(CONFIG_BUSPIRATE_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_BUSPIRATE_SPI=yes -else -override CONFIG_BUSPIRATE_SPI = no -endif -ifeq ($(CONFIG_SERPROG), yes) -UNSUPPORTED_FEATURES += CONFIG_SERPROG=yes -else -override CONFIG_SERPROG = no -endif -ifeq ($(CONFIG_PONY_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_PONY_SPI=yes -else -override CONFIG_PONY_SPI = no -endif -# Digilent SPI, Dediprog, Developerbox, USB-Blaster, PICkit2, CH341A and FT2232 are not supported under DOS (missing USB support). -ifeq ($(CONFIG_DIGILENT_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_DIGILENT_SPI=yes -else -override CONFIG_DIGILENT_SPI = no -endif -ifeq ($(CONFIG_DEDIPROG), yes) -UNSUPPORTED_FEATURES += CONFIG_DEDIPROG=yes -else -override CONFIG_DEDIPROG = no -endif -ifeq ($(CONFIG_DEVELOPERBOX_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_DEVELOPERBOX_SPI=yes -else -override CONFIG_DEVELOPERBOX_SPI = no -endif -ifeq ($(CONFIG_ENE_LPC), yes) -UNSUPPORTED_FEATURES += CONFIG_ENE_LPC=yes -else -override CONFIG_ENE_LPC = no -endif -ifeq ($(CONFIG_FT2232_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_FT2232_SPI=yes -else -override CONFIG_FT2232_SPI = no -endif -ifeq ($(CONFIG_MEC1308), yes) -UNSUPPORTED_FEATURES += CONFIG_MEC1308=yes -else -override CONFIG_MEC1308 = no -endif -ifeq ($(CONFIG_USBBLASTER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_USBBLASTER_SPI=yes -else -override CONFIG_USBBLASTER_SPI = no -endif -ifeq ($(CONFIG_PICKIT2_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_PICKIT2_SPI=yes -else -override CONFIG_PICKIT2_SPI = no -endif -ifeq ($(CONFIG_CH341A_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_CH341A_SPI=yes -else -override CONFIG_CH341A_SPI = no -endif -ifeq ($(CONFIG_STLINKV3_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_STLINKV3_SPI=yes -else -override CONFIG_STLINKV3_SPI = no -endif -ifeq ($(CONFIG_LSPCON_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_LSPCON_I2C_SPI=yes -else -override CONFIG_LSPCON_I2C_SPI = no -endif -ifeq ($(CONFIG_REALTEK_MST_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_REALTEK_MST_I2C_SPI=yes -else -override CONFIG_REALTEK_MST_I2C_SPI = no -endif -# libjaylink is also not available for DOS -ifeq ($(CONFIG_JLINK_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_JLINK_SPI=yes -else -override CONFIG_JLINK_SPI = no -endif +$(call process_unsupported,CONFIG_BUSPIRATE_SPI CONFIG_SERPROG CONFIG_PONY_SPI) +# Libraries not available for DOS +$(call process_unsupported,$(NEEDS_LIBUSB1) $(NEEDS_LIBFTDI) $(NEEDS_LIBJAYLINK)) +# Odd ones (FIXME: why are they unsupported?) +$(call process_unsupported,CONFIG_ENE_LPC CONFIG_MEC1308) endif
# FIXME: Should we check for Cygwin/MSVC as well? @@ -238,125 +225,14 @@ CONFIG_NI845X_SPI ?= no
# For now we disable all PCI-based programmers on Windows/MinGW (no libpci). -ifeq ($(CONFIG_INTERNAL), yes) -UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes -else -override CONFIG_INTERNAL = no -endif -ifeq ($(CONFIG_RAYER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes -else -override CONFIG_RAYER_SPI = no -endif -ifeq ($(CONFIG_RAIDEN_DEBUG_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_RAIDEN_DEBUG_SPI=yes -else -override CONFIG_RAIDEN_DEBUG_SPI = no -endif -ifeq ($(CONFIG_NIC3COM), yes) -UNSUPPORTED_FEATURES += CONFIG_NIC3COM=yes -else -override CONFIG_NIC3COM = no -endif -ifeq ($(CONFIG_GFXNVIDIA), yes) -UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes -else -override CONFIG_GFXNVIDIA = no -endif -ifeq ($(CONFIG_SATASII), yes) -UNSUPPORTED_FEATURES += CONFIG_SATASII=yes -else -override CONFIG_SATASII = no -endif -ifeq ($(CONFIG_ATAHPT), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAHPT=yes -else -override CONFIG_ATAHPT = no -endif -ifeq ($(CONFIG_ATAVIA), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAVIA=yes -else -override CONFIG_ATAVIA = no -endif -ifeq ($(CONFIG_ATAPROMISE), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAPROMISE=yes -else -override CONFIG_ATAPROMISE = no -endif -ifeq ($(CONFIG_ENE_LPC), yes) -UNSUPPORTED_FEATURES += CONFIG_ENE_LPC=yes -else -override CONFIG_ENE_LPC = no -endif -ifeq ($(CONFIG_IT8212), yes) -UNSUPPORTED_FEATURES += CONFIG_IT8212=yes -else -override CONFIG_IT8212 = no -endif -ifeq ($(CONFIG_DRKAISER), yes) -UNSUPPORTED_FEATURES += CONFIG_DRKAISER=yes -else -override CONFIG_DRKAISER = no -endif -ifeq ($(CONFIG_MEC1308), yes) -UNSUPPORTED_FEATURES += CONFIG_MEC1308=yes -else -override CONFIG_MEC1308 = no -endif -ifeq ($(CONFIG_NICREALTEK), yes) -UNSUPPORTED_FEATURES += CONFIG_NICREALTEK=yes -else -override CONFIG_NICREALTEK = no -endif -ifeq ($(CONFIG_NICNATSEMI), yes) -UNSUPPORTED_FEATURES += CONFIG_NICNATSEMI=yes -else -override CONFIG_NICNATSEMI = no -endif -ifeq ($(CONFIG_NICINTEL), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL=yes -else -override CONFIG_NICINTEL = no -endif -ifeq ($(CONFIG_NICINTEL_EEPROM), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL_EEPROM=yes -else -override CONFIG_NICINTEL_EEPROM = no -endif -ifeq ($(CONFIG_NICINTEL_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL_SPI=yes -else -override CONFIG_NICINTEL_SPI = no -endif -ifeq ($(CONFIG_OGP_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_OGP_SPI=yes -else -override CONFIG_OGP_SPI = no -endif -ifeq ($(CONFIG_SATAMV), yes) -UNSUPPORTED_FEATURES += CONFIG_SATAMV=yes -else -override CONFIG_SATAMV = no -endif -ifeq ($(CONFIG_LSPCON_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_LSPCON_I2C_SPI=yes -else -override CONFIG_LSPCON_I2C_SPI = no -endif -ifeq ($(CONFIG_REALTEK_MST_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_REALTEK_MST_I2C_SPI=yes -else -override CONFIG_REALTEK_MST_I2C_SPI = no -endif +$(call process_unsupported,$(NEEDS_LIBPCI)) +# Odd ones (FIXME: why?) +$(call process_unsupported,CONFIG_RAYER_SPI CONFIG_RAIDEN_DEBUG_SPI) endif
ifneq ($(TARGET_OS), MinGW) # NI USB-845x only supported on Windows at the moment -ifeq ($(CONFIG_NI845X_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_NI845X_SPI=yes -else -override CONFIG_NI845X_SPI = no -endif +$(call process_unsupported,CONFIG_NI845X_SPI) endif
ifeq ($(TARGET_OS), libpayload) @@ -365,119 +241,28 @@ $(info Setting default goal to libflashrom.a) endif FLASHROM_CFLAGS += -DSTANDALONE -ifeq ($(CONFIG_DUMMY), yes) -UNSUPPORTED_FEATURES += CONFIG_DUMMY=yes -else -override CONFIG_DUMMY = no -endif +$(call process_unsupported,CONFIG_DUMMY) # libpayload does not provide the romsize field in struct pci_dev that the atapromise code requires. -ifeq ($(CONFIG_ATAPROMISE), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAPROMISE=yes -else -override CONFIG_ATAPROMISE = no -endif +$(call process_unsupported,CONFIG_ATAPROMISE) # Bus Pirate, Serprog and PonyProg are not supported with libpayload (missing serial support). -ifeq ($(CONFIG_BUSPIRATE_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_BUSPIRATE_SPI=yes -else -override CONFIG_BUSPIRATE_SPI = no -endif -ifeq ($(CONFIG_SERPROG), yes) -UNSUPPORTED_FEATURES += CONFIG_SERPROG=yes -else -override CONFIG_SERPROG = no -endif -ifeq ($(CONFIG_PONY_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_PONY_SPI=yes -else -override CONFIG_PONY_SPI = no -endif +$(call process_unsupported,CONFIG_BUSPIRATE_SPI CONFIG_SERPROG CONFIG_PONY_SPI) # Dediprog, Developerbox, USB-Blaster, PICkit2, CH341A and FT2232 are not supported with libpayload (missing libusb support). -ifeq ($(CONFIG_DEDIPROG), yes) -UNSUPPORTED_FEATURES += CONFIG_DEDIPROG=yes -else -override CONFIG_DEDIPROG = no -endif -ifeq ($(CONFIG_DEVELOPERBOX_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_DEVELOPERBOX_SPI=yes -else -override CONFIG_DEVELOPERBOX_SPI = no -endif -ifeq ($(CONFIG_ENE_LPC), yes) -UNSUPPORTED_FEATURES += CONFIG_ENE_LPC=yes -else -override CONFIG_ENE_LPC = no -endif -ifeq ($(CONFIG_FT2232_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_FT2232_SPI=yes -else -override CONFIG_FT2232_SPI = no -endif -ifeq ($(CONFIG_MEC1308), yes) -UNSUPPORTED_FEATURES += CONFIG_MEC1308=yes -else -override CONFIG_MEC1308 = no -endif -ifeq ($(CONFIG_USBBLASTER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_USBBLASTER_SPI=yes -else -override CONFIG_USBBLASTER_SPI = no -endif -ifeq ($(CONFIG_PICKIT2_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_PICKIT2_SPI=yes -else -override CONFIG_PICKIT2_SPI = no -endif -ifeq ($(CONFIG_STLINKV3_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_STLINKV3_SPI=yes -else -override CONFIG_STLINKV3_SPI = no -endif -ifeq ($(CONFIG_LSPCON_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_LSPCON_I2C_SPI=yes -else -override CONFIG_LSPCON_I2C_SPI = no -endif -ifeq ($(CONFIG_REALTEK_MST_I2C_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_REALTEK_MST_I2C_SPI=yes -else -override CONFIG_REALTEK_MST_I2C_SPI = no -endif -ifeq ($(CONFIG_CH341A_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_CH341A_SPI=yes -else -override CONFIG_CH341A_SPI = no -endif +$(call process_unsupported,$(NEEDS_LIBUSB1) $(NEEDS_LIBFTDI) $(NEEDS_LIBJAYLINK)) +# Odd ones. (FIXME: why?) +$(call process_unsupported,CONFIG_ENE_LPC CONFIG_MEC1308) endif
ifneq ($(TARGET_OS), Linux) -# Android is handled internally as separate OS, but it supports CONFIG_LINUX_SPI and CONFIG_MSTARDDC_SPI +# Android is handled internally as separate OS, but it supports about the same drivers. ifneq ($(TARGET_OS), Android) -ifeq ($(CONFIG_LINUX_MTD), yes) -UNSUPPORTED_FEATURES += CONFIG_LINUX_MTD=yes -else -override CONFIG_LINUX_MTD = no -endif -ifeq ($(CONFIG_LINUX_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_LINUX_SPI=yes -else -override CONFIG_LINUX_SPI = no -endif -ifeq ($(CONFIG_MSTARDDC_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_MSTARDDC_SPI=yes -else -override CONFIG_MSTARDDC_SPI = no -endif +$(call process_unsupported,CONFIG_LINUX_MTD CONFIG_LINUX_SPI) +$(call process_unsupported,CONFIG_MSTARDDC_SPI CONFIG_LSPCON_I2C_SPI CONFIG_REALTEK_MST_I2C_SPI) endif endif
ifeq ($(TARGET_OS), Android) # Android on x86 (currently) does not provide raw PCI port I/O operations -ifeq ($(CONFIG_RAYER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes -else -override CONFIG_RAYER_SPI = no -endif +$(call process_unsupported,CONFIG_RAYER_SPI) endif
ifeq ($(TARGET_OS), Linux) @@ -499,147 +284,24 @@
# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel) ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN)) -ifeq ($(CONFIG_INTERNAL), yes) -UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes -else -override CONFIG_INTERNAL = no -endif +$(call process_unsupported,CONFIG_INTERNAL) endif
# PCI port I/O support is unimplemented on PPC/MIPS/SPARC and unavailable on ARM. # Right now this means the drivers below only work on x86. ifneq ($(ARCH), x86) -ifeq ($(CONFIG_NIC3COM), yes) -UNSUPPORTED_FEATURES += CONFIG_NIC3COM=yes -else -override CONFIG_NIC3COM = no -endif -ifeq ($(CONFIG_NICREALTEK), yes) -UNSUPPORTED_FEATURES += CONFIG_NICREALTEK=yes -else -override CONFIG_NICREALTEK = no -endif -ifeq ($(CONFIG_NICNATSEMI), yes) -UNSUPPORTED_FEATURES += CONFIG_NICNATSEMI=yes -else -override CONFIG_NICNATSEMI = no -endif -ifeq ($(CONFIG_RAYER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes -else -override CONFIG_RAYER_SPI = no -endif -ifeq ($(CONFIG_ATAHPT), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAHPT=yes -else -override CONFIG_ATAHPT = no -endif -ifeq ($(CONFIG_ATAPROMISE), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAPROMISE=yes -else -override CONFIG_ATAPROMISE = no -endif -ifeq ($(CONFIG_SATAMV), yes) -UNSUPPORTED_FEATURES += CONFIG_SATAMV=yes -else -override CONFIG_SATAMV = no -endif -ifeq ($(CONFIG_ENE_LPC), yes) -UNSUPPORTED_FEATURES += CONFIG_ENE_LPC=yes -else -override CONFIG_ENE_LPC = no -endif -ifeq ($(CONFIG_MEC1308), yes) -UNSUPPORTED_FEATURES += CONFIG_MEC1308=yes -else -override CONFIG_MEC1308 = no -endif +$(call process_unsupported,CONFIG_NIC3COM CONFIG_NICREALTEK CONFIG_NICNATSEMI) +$(call process_unsupported,CONFIG_RAYER_SPI CONFIG_ATAHPT CONFIG_ATAPROMISE) +$(call process_unsupported,CONFIG_SATAMV CONFIG_ENE_LPC CONFIG_MEC1308) endif
-# Disable all drivers needing raw access (memory, PCI, port I/O) on -# architectures with unknown raw access properties. +# Additionally disable all drivers needing raw access (memory, PCI, port I/O) +# on architectures with unknown raw access properties. # Right now those architectures are alpha hppa m68k sh s390 ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc)) -ifeq ($(CONFIG_RAYER_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes -else -override CONFIG_RAYER_SPI = no -endif -ifeq ($(CONFIG_NIC3COM), yes) -UNSUPPORTED_FEATURES += CONFIG_NIC3COM=yes -else -override CONFIG_NIC3COM = no -endif -ifeq ($(CONFIG_GFXNVIDIA), yes) -UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes -else -override CONFIG_GFXNVIDIA = no -endif -ifeq ($(CONFIG_SATASII), yes) -UNSUPPORTED_FEATURES += CONFIG_SATASII=yes -else -override CONFIG_SATASII = no -endif -ifeq ($(CONFIG_ATAHPT), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAHPT=yes -else -override CONFIG_ATAHPT = no -endif -ifeq ($(CONFIG_ATAVIA), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAVIA=yes -else -override CONFIG_ATAVIA = no -endif -ifeq ($(CONFIG_ATAPROMISE), yes) -UNSUPPORTED_FEATURES += CONFIG_ATAPROMISE=yes -else -override CONFIG_ATAPROMISE = no -endif -ifeq ($(CONFIG_DRKAISER), yes) -UNSUPPORTED_FEATURES += CONFIG_DRKAISER=yes -else -override CONFIG_DRKAISER = no -endif -ifeq ($(CONFIG_NICREALTEK), yes) -UNSUPPORTED_FEATURES += CONFIG_NICREALTEK=yes -else -override CONFIG_NICREALTEK = no -endif -ifeq ($(CONFIG_NICNATSEMI), yes) -UNSUPPORTED_FEATURES += CONFIG_NICNATSEMI=yes -else -override CONFIG_NICNATSEMI = no -endif -ifeq ($(CONFIG_NICINTEL), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL=yes -else -override CONFIG_NICINTEL = no -endif -ifeq ($(CONFIG_NICINTEL_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL_SPI=yes -else -override CONFIG_NICINTEL_SPI = no -endif -ifeq ($(CONFIG_NICINTEL_EEPROM), yes) -UNSUPPORTED_FEATURES += CONFIG_NICINTEL_EEPROM=yes -else -override CONFIG_NICINTEL_EEPROM = no -endif -ifeq ($(CONFIG_OGP_SPI), yes) -UNSUPPORTED_FEATURES += CONFIG_OGP_SPI=yes -else -override CONFIG_OGP_SPI = no -endif -ifeq ($(CONFIG_SATAMV), yes) -UNSUPPORTED_FEATURES += CONFIG_SATAMV=yes -else -override CONFIG_SATAMV = no -endif -ifeq ($(CONFIG_IT8212), yes) -UNSUPPORTED_FEATURES += CONFIG_IT8212=yes -else -override CONFIG_IT8212 = no -endif +$(call process_unsupported,CONFIG_GFXNVIDIA CONFIG_SATASII CONFIG_ATAVIA) +$(call process_unsupported,CONFIG_DRKAISER CONFIG_NICINTEL CONFIG_NICINTEL_SPI) +$(call process_unsupported,CONFIG_NICINTEL_EEPROM CONFIG_OGP_SPI CONFIG_IT8212) endif
############################################################################### @@ -814,36 +476,6 @@ $(eval $(var)=yes))) endif
-ifeq ($(CONFIG_ENABLE_LIBUSB1_PROGRAMMERS), no) -override CONFIG_CH341A_SPI = no -override CONFIG_DEDIPROG = no -override CONFIG_DIGILENT_SPI = no -override CONFIG_DEVELOPERBOX_SPI = no -override CONFIG_PICKIT2_SPI = no -override CONFIG_RAIDEN_DEBUG_SPI = no -override CONFIG_STLINKV3_SPI = no -endif -ifeq ($(CONFIG_ENABLE_LIBPCI_PROGRAMMERS), no) -override CONFIG_INTERNAL = no -override CONFIG_NIC3COM = no -override CONFIG_GFXNVIDIA = no -override CONFIG_SATASII = no -override CONFIG_ATAHPT = no -override CONFIG_ATAVIA = no -override CONFIG_ATAPROMISE = no -override CONFIG_ENE_LPC = no -override CONFIG_IT8212 = no -override CONFIG_DRKAISER = no -override CONFIG_MEC1308 = no -override CONFIG_NICREALTEK = no -override CONFIG_NICNATSEMI = no -override CONFIG_NICINTEL = no -override CONFIG_NICINTEL_SPI = no -override CONFIG_NICINTEL_EEPROM = no -override CONFIG_OGP_SPI = no -override CONFIG_SATAMV = no -endif - # Bitbanging SPI infrastructure, default off unless needed. ifeq ($(CONFIG_RAYER_SPI), yes) override CONFIG_BITBANG_SPI = yes @@ -902,21 +534,18 @@ endif else endif -NEED_LIBPCI += CONFIG_INTERNAL endif
ifeq ($(CONFIG_ENE_LPC), yes) FEATURE_CFLAGS += -D'CONFIG_ENE_LPC=1' PROGRAMMER_OBJS += ene_lpc.o NEED_RAW_ACCESS += CONFIG_ENE_LPC -NEED_LIBPCI += CONFIG_ENE_LPC endif
ifeq ($(CONFIG_MEC1308), yes) FEATURE_CFLAGS += -D'CONFIG_MEC1308=1' PROGRAMMER_OBJS += mec1308.o NEED_RAW_ACCESS += CONFIG_MEC1308 -NEED_LIBPCI += CONFIG_MEC1308 endif
ifeq ($(CONFIG_SERPROG), yes) @@ -951,69 +580,58 @@ ifeq ($(CONFIG_NIC3COM), yes) FEATURE_CFLAGS += -D'CONFIG_NIC3COM=1' PROGRAMMER_OBJS += nic3com.o -NEED_LIBPCI += CONFIG_NIC3COM endif
ifeq ($(CONFIG_GFXNVIDIA), yes) FEATURE_CFLAGS += -D'CONFIG_GFXNVIDIA=1' PROGRAMMER_OBJS += gfxnvidia.o -NEED_LIBPCI += CONFIG_GFXNVIDIA endif
ifeq ($(CONFIG_SATASII), yes) FEATURE_CFLAGS += -D'CONFIG_SATASII=1' PROGRAMMER_OBJS += satasii.o -NEED_LIBPCI += CONFIG_SATASII endif
ifeq ($(CONFIG_ATAHPT), yes) FEATURE_CFLAGS += -D'CONFIG_ATAHPT=1' PROGRAMMER_OBJS += atahpt.o -NEED_LIBPCI += CONFIG_ATAHPT endif
ifeq ($(CONFIG_ATAVIA), yes) FEATURE_CFLAGS += -D'CONFIG_ATAVIA=1' PROGRAMMER_OBJS += atavia.o -NEED_LIBPCI += CONFIG_ATAVIA endif
ifeq ($(CONFIG_ATAPROMISE), yes) FEATURE_CFLAGS += -D'CONFIG_ATAPROMISE=1' PROGRAMMER_OBJS += atapromise.o -NEED_LIBPCI += CONFIG_ATAPROMISE endif
ifeq ($(CONFIG_IT8212), yes) FEATURE_CFLAGS += -D'CONFIG_IT8212=1' PROGRAMMER_OBJS += it8212.o -NEED_LIBPCI += CONFIG_IT8212 endif
ifeq ($(CONFIG_FT2232_SPI), yes) # This is a totally ugly hack. FEATURE_CFLAGS += $(call debug_shell,grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'") -NEED_LIBFTDI += CONFIG_FT2232_SPI PROGRAMMER_OBJS += ft2232_spi.o endif
ifeq ($(CONFIG_USBBLASTER_SPI), yes) # This is a totally ugly hack. FEATURE_CFLAGS += $(call debug_shell,grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'") -NEED_LIBFTDI += CONFIG_USBBLASTER_SPI PROGRAMMER_OBJS += usbblaster_spi.o endif
ifeq ($(CONFIG_PICKIT2_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_PICKIT2_SPI=1' PROGRAMMER_OBJS += pickit2_spi.o -NEED_LIBUSB1 += CONFIG_PICKIT2_SPI endif
ifeq ($(CONFIG_STLINKV3_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_STLINKV3_SPI=1' PROGRAMMER_OBJS += stlinkv3_spi.o -NEED_LIBUSB1 += CONFIG_STLINKV3_SPI endif
ifeq ($(CONFIG_LSPCON_I2C_SPI), yes) @@ -1044,43 +662,36 @@ ifeq ($(CONFIG_DRKAISER), yes) FEATURE_CFLAGS += -D'CONFIG_DRKAISER=1' PROGRAMMER_OBJS += drkaiser.o -NEED_LIBPCI += CONFIG_DRKAISER endif
ifeq ($(CONFIG_NICREALTEK), yes) FEATURE_CFLAGS += -D'CONFIG_NICREALTEK=1' PROGRAMMER_OBJS += nicrealtek.o -NEED_LIBPCI += CONFIG_NICREALTEK endif
ifeq ($(CONFIG_NICNATSEMI), yes) FEATURE_CFLAGS += -D'CONFIG_NICNATSEMI=1' PROGRAMMER_OBJS += nicnatsemi.o -NEED_LIBPCI += CONFIG_NICNATSEMI endif
ifeq ($(CONFIG_NICINTEL), yes) FEATURE_CFLAGS += -D'CONFIG_NICINTEL=1' PROGRAMMER_OBJS += nicintel.o -NEED_LIBPCI += CONFIG_NICINTEL endif
ifeq ($(CONFIG_NICINTEL_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_NICINTEL_SPI=1' PROGRAMMER_OBJS += nicintel_spi.o -NEED_LIBPCI += CONFIG_NICINTEL_SPI endif
ifeq ($(CONFIG_NICINTEL_EEPROM), yes) FEATURE_CFLAGS += -D'CONFIG_NICINTEL_EEPROM=1' PROGRAMMER_OBJS += nicintel_eeprom.o -NEED_LIBPCI += CONFIG_NICINTEL_EEPROM endif
ifeq ($(CONFIG_OGP_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_OGP_SPI=1' PROGRAMMER_OBJS += ogp_spi.o -NEED_LIBPCI += CONFIG_OGP_SPI endif
ifeq ($(CONFIG_BUSPIRATE_SPI), yes) @@ -1092,19 +703,16 @@ ifeq ($(CONFIG_DEDIPROG), yes) FEATURE_CFLAGS += -D'CONFIG_DEDIPROG=1' PROGRAMMER_OBJS += dediprog.o -NEED_LIBUSB1 += CONFIG_DEDIPROG endif
ifeq ($(CONFIG_DEVELOPERBOX_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_DEVELOPERBOX_SPI=1' PROGRAMMER_OBJS += developerbox_spi.o -NEED_LIBUSB1 += CONFIG_DEVELOPERBOX_SPI endif
ifeq ($(CONFIG_SATAMV), yes) FEATURE_CFLAGS += -D'CONFIG_SATAMV=1' PROGRAMMER_OBJS += satamv.o -NEED_LIBPCI += CONFIG_SATAMV endif
ifeq ($(CONFIG_LINUX_MTD), yes) @@ -1129,17 +737,14 @@ ifeq ($(CONFIG_CH341A_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_CH341A_SPI=1' PROGRAMMER_OBJS += ch341a_spi.o -NEED_LIBUSB1 += CONFIG_CH341A_SPI endif
ifeq ($(CONFIG_DIGILENT_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_DIGILENT_SPI=1' PROGRAMMER_OBJS += digilent_spi.o -NEED_LIBUSB1 += CONFIG_DIGILENT_SPI endif
ifeq ($(CONFIG_JLINK_SPI), yes) -NEED_LIBJAYLINK += CONFIG_JLINK_SPI FEATURE_CFLAGS += -D'CONFIG_JLINK_SPI=1' PROGRAMMER_OBJS += jlink_spi.o endif @@ -1179,6 +784,11 @@ endif endif
+NEED_LIBPCI := $(call filter_deps,$(NEEDS_LIBPCI)) +NEED_LIBUSB1 := $(call filter_deps,$(NEEDS_LIBUSB1)) +NEED_LIBFTDI := $(call filter_deps,$(NEEDS_LIBFTDI)) +NEED_LIBJAYLINK := $(call filter_deps,$(NEEDS_LIBJAYLINK)) + ifneq ($(NEED_LIBPCI), ) CHECK_LIBPCI = yes # This is a dirty hack, but it saves us from checking all PCI drivers and all platforms manually.