usb: Fix bug when both DFU & ETHER are defined
authorPantelis Antoniou <panto@antoniou-consulting.com>
Mon, 3 Dec 2012 00:10:28 +0000 (00:10 +0000)
committerMarek Vasut <marex@denx.de>
Sat, 16 Mar 2013 20:12:02 +0000 (21:12 +0100)
When both CONFIG_USB_GADGET & CONFIG_USB_ETHER are defined
the makefile links objects twice.

This patch uses a Makefile specific idiom of
'if defined(CONFIG_USB_GADGET) || defined(CONFIG_USB_ETHER)'
to handle the case.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
drivers/usb/gadget/Makefile

index 040eaba3bc9008514782755075f32b28f906c11b..e545b6be6b33030bd42cf27d9a8a2cdde8027bb1 100644 (file)
@@ -25,15 +25,21 @@ include $(TOPDIR)/config.mk
 
 LIB    := $(obj)libusb_gadget.o
 
+# if defined(CONFIG_USB_GADGET) || defined(CONFIG_USB_ETHER)
+#   Everytime you forget how crufty makefiles can get things like
+#   this remind you...
+ifneq (,$(CONFIG_USB_GADGET)$(CONFIG_USB_ETHER))
+COBJS-y += epautoconf.o config.o usbstring.o
+endif
+
 # new USB gadget layer dependencies
 ifdef CONFIG_USB_GADGET
-COBJS-y += epautoconf.o config.o usbstring.o
 COBJS-$(CONFIG_USB_GADGET_S3C_UDC_OTG) += s3c_udc_otg.o
 COBJS-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o
 COBJS-$(CONFIG_DFU_FUNCTION) += f_dfu.o
 endif
 ifdef CONFIG_USB_ETHER
-COBJS-y += ether.o epautoconf.o config.o usbstring.o
+COBJS-y += ether.o
 COBJS-$(CONFIG_USB_ETH_RNDIS) += rndis.o
 COBJS-$(CONFIG_MV_UDC) += mv_udc.o
 COBJS-$(CONFIG_CPU_PXA25X) += pxa25x_udc.o