[flashrom] [PATCH] Only check for requested features in Makefile
Idwer Vollering
vidwer at gmail.com
Thu Dec 24 04:26:29 CET 2009
2009/12/24 Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
> Only check for requested features in the Makefile.
> libpci is no longer required to build flashrom and will not be checked
> for if no PCI code is needed for the selected programmers.
> libftdi is no longer checked for if FT2232 support is not selected.
>
> With this patch, it is possible to build on pretty much every OS out
> there (including Windows) without altering the Makefile.
> Some gcc versions may need a CFLAGS override for a warning in
> dummyflasher.c, though.
>
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
>
> Index: flashrom-makefile_check_libpci_only_if_needed/Makefile
> ===================================================================
> --- flashrom-makefile_check_libpci_only_if_needed/Makefile (Revision
> 822)
> +++ flashrom-makefile_check_libpci_only_if_needed/Makefile
> (Arbeitskopie)
> @@ -41,8 +41,6 @@
> LDFLAGS += -L/usr/local/lib
> endif
>
> -LIBS += -lpci
> -
> OBJS = jedec.o stm50flw0x0x.o w39v080fa.o sharplhf00l04.o w29ee011.o \
> sst28sf040.o am29f040b.o mx29f002.o m29f400bt.o pm29f002.o
> w39v040c.o \
> w49f002u.o 82802ab.o pm49fl00x.o sst49lf040.o en29f002a.o m29f002.o
> \
> @@ -167,6 +165,7 @@
> endif
>
> ifeq ($(NEED_PCI), yes)
> +LIBS += -lpci
> FEATURE_CFLAGS += -D'NEED_PCI=1'
> OBJS += pcidev.o physmap.o internal.o
> endif
> @@ -211,6 +210,7 @@
> rm -f .test.c .test; exit 1)
> @rm -f .test.c .test
>
> +ifeq ($(NEED_PCI), yes)
> pciutils: compiler
> @printf "Checking for libpci headers... "
> @$(shell ( echo "#include <pci/pci.h>"; \
> @@ -226,25 +226,30 @@
> @$(shell ( echo "#include <pci/pci.h>"; \
> echo "int main(int argc, char **argv)"; \
> echo "{ return 0; }"; ) > .test1.c )
> - @$(CC) $(CFLAGS) $(LDFLAGS) .test1.c -o .test1 $(LIBS) >/dev/null
> 2>&1 && \
> + @$(CC) $(CFLAGS) $(LDFLAGS) .test1.c -o .test1 -lpci $(LIBS)
> >/dev/null 2>&1 && \
> echo "found." || ( echo "not found."; echo;
> \
> echo "Please install libpci (package pciutils).";
> \
> echo "See README for more information."; echo;
> \
> rm -f .test1.c .test1; exit 1)
> @printf "Checking if libpci is sufficient... "
> @printf "" > .libdeps
> - @$(CC) $(LDFLAGS) .test.o -o .test $(LIBS) >/dev/null 2>&1 &&
> \
> + @$(CC) $(LDFLAGS) .test.o -o .test -lpci $(LIBS) >/dev/null 2>&1 &&
> \
> echo "yes." || ( echo "no.";
> \
> printf "Checking if libz is present and supplies all needed
> symbols..."; \
> - $(CC) $(LDFLAGS) .test.o -o .test $(LIBS) -lz >/dev/null
> 2>&1 && \
> + $(CC) $(LDFLAGS) .test.o -o .test -lpci -lz $(LIBS)
> >/dev/null 2>&1 && \
> ( echo "yes."; echo "NEEDLIBZ := yes" > .libdeps ) || ( echo
> "no."; echo; \
> echo "Please install libz."; \
> echo "See README for more information."; echo;
> \
> rm -f .test.c .test.o .test; exit 1) )
> @rm -f .test.c .test.o .test .test1.c .test1
> +else
> +pciutils: compiler
> + @printf "" > .libdeps
> +endif
>
> .features: features
>
> +ifeq ($(CONFIG_FT2232SPI), yes)
> features: compiler
> @echo "FEATURES := yes" > .features.tmp
> @printf "Checking for FTDI support... "
> @@ -257,6 +262,10 @@
> ( echo "not found."; echo "FTDISUPPORT := no" >>
> .features.tmp )
> @$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm
> .features.tmp || mv .features.tmp .features
> @rm -f .featuretest.c .featuretest
> +else
> +features: compiler
> + @echo "FEATURES := yes" > .features
> +endif
>
> install: $(PROGRAM)
> mkdir -p $(DESTDIR)$(PREFIX)/sbin
>
>
> --
> Developer quote of the year:
> "We are juggling too many chainsaws and flaming arrows and tigers."
>
>
> _______________________________________________
> flashrom mailing list
> flashrom at flashrom.org
> http://www.flashrom.org/mailman/listinfo/flashrom
>
Acked-by: Idwer Vollering <vidwer at gmail.com <audiohacked at gmail.com>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20091224/7c9bf282/attachment.html>
More information about the flashrom
mailing list