We already have NEED_PCI in the Makefile to link in PCI support. Add NEED_SERIAL and NEED_NET to decouple individual drivers from compilation and linking decisions. Move libgetopt from a DOS+PCI dependency to a DOS dependency to fix linking on DOS if no driver requiring PCI is enabled.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-makefile_cleanup/Makefile =================================================================== --- flashrom-makefile_cleanup/Makefile (Revision 1039) +++ flashrom-makefile_cleanup/Makefile (Arbeitskopie) @@ -50,6 +50,8 @@ endif ifeq ($(OS_ARCH), DOS) CPPFLAGS += -I../libgetopt -I../libpci/include +# FIXME Check if we can achieve the same effect with -L../libgetopt -lgetopt +LIBS += ../libgetopt/libgetopt.a # Bus Pirate and Serprog are not supported under DOS. CONFIG_BUSPIRATE_SPI = no CONFIG_SERPROG = no @@ -136,10 +138,9 @@ ifeq ($(CONFIG_SERPROG), yes) FEATURE_CFLAGS += -D'CONFIG_SERPROG=1' PROGRAMMER_OBJS += serprog.o -ifeq ($(OS_ARCH), SunOS) -LIBS += -lsocket +NEED_SERIAL := yes +NEED_NET := yes endif -endif
ifeq ($(CONFIG_BITBANG_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_BITBANG_SPI=1' @@ -204,6 +205,7 @@ ifeq ($(CONFIG_BUSPIRATE_SPI), yes) FEATURE_CFLAGS += -D'CONFIG_BUSPIRATE_SPI=1' PROGRAMMER_OBJS += buspirate_spi.o +NEED_SERIAL := yes endif
ifeq ($(CONFIG_DEDIPROG), yes) @@ -212,20 +214,18 @@ PROGRAMMER_OBJS += dediprog.o endif
-# Ugly, but there's no elif/elseif. -ifeq ($(CONFIG_SERPROG), yes) +ifeq ($(NEED_SERIAL), yes) LIB_OBJS += serial.o -else -ifeq ($(CONFIG_BUSPIRATE_SPI), yes) -LIB_OBJS += serial.o endif + +ifeq ($(NEED_NET), yes) +ifeq ($(OS_ARCH), SunOS) +LIBS += -lsocket endif +endif
ifeq ($(NEED_PCI), yes) CHECK_LIBPCI = yes -endif - -ifeq ($(NEED_PCI), yes) FEATURE_CFLAGS += -D'NEED_PCI=1' PROGRAMMER_OBJS += pcidev.o physmap.o hwaccess.o ifeq ($(OS_ARCH), NetBSD) @@ -236,7 +236,7 @@ else ifeq ($(OS_ARCH), DOS) # FIXME There needs to be a better way to do this -LIBS += ../libpci/lib/libpci.a ../libgetopt/libgetopt.a +LIBS += ../libpci/lib/libpci.a else LIBS += -lpci endif