Fix Makefile dependencies if FT2232SPI is not selected. .features was always regenerated in that case, triggering whole-project recompiles even if nothing changed.
If you want to test, run make distclean make CONFIG_INTERNAL=no CONFIG_SERPROG=no CONFIG_SATASII=no CONFIG_DRKAISER=no CONFIG_NIC3COM=no CONFIG_BUSPIRATESPI=no CONFIG_FT2232SPI=no CONFIG_DUMMY=yes make CONFIG_INTERNAL=no CONFIG_SERPROG=no CONFIG_SATASII=no CONFIG_DRKAISER=no CONFIG_NIC3COM=no CONFIG_BUSPIRATESPI=no CONFIG_FT2232SPI=no CONFIG_DUMMY=yes Without the patch, you get a full recompile on the second make call. With the patch, make notices that nothing changed and thus does nothing. Signed-off-by: Carl-Daniel Hailfinger <[email protected]> Index: flashrom-ft2232_makefile_no_recompile/Makefile =================================================================== --- flashrom-ft2232_makefile_no_recompile/Makefile (Revision 841) +++ flashrom-ft2232_makefile_no_recompile/Makefile (Arbeitskopie) @@ -136,8 +136,8 @@ NEED_PCI := yes endif +ifeq ($(CONFIG_FT2232SPI), yes) FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb") -ifeq ($(CONFIG_FT2232SPI), yes) # This is a totally ugly hack. FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'FT2232_SPI_SUPPORT=1'") FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") @@ -280,7 +280,8 @@ @rm -f .featuretest.c .featuretest else features: compiler - @echo "FEATURES := yes" > .features + @echo "FEATURES := yes" > .features.tmp + @$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm .features.tmp || mv .features.tmp .features endif install: $(PROGRAM) -- Developer quote of the year: "We are juggling too many chainsaws and flaming arrows and tigers." _______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
