Browse Source

libusb: add an option to compile examples

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Thomas:
 - use make loop instead of shell loop
 - use $(INSTALL) instead of cp.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Gaël PORTAY 7 years ago
parent
commit
b57b7a3571
2 changed files with 17 additions and 0 deletions
  1. 7 0
      package/libusb/Config.in
  2. 10 0
      package/libusb/libusb.mk

+ 7 - 0
package/libusb/Config.in

@@ -6,5 +6,12 @@ config BR2_PACKAGE_LIBUSB
 
 	  http://libusb.info/
 
+if BR2_PACKAGE_LIBUSB
+
+config BR2_PACKAGE_LIBUSB_EXAMPLES
+	bool "build libusb examples"
+
+endif
+
 comment "libusb needs a toolchain w/ threads"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS

+ 10 - 0
package/libusb/libusb.mk

@@ -25,5 +25,15 @@ else
 LIBUSB_CONF_OPTS += --disable-udev
 endif
 
+ifeq ($(BR2_PACKAGE_LIBUSB_EXAMPLES),y)
+LIBUSB_CONF_OPTS += --enable-examples-build
+define LIBUSB_INSTALL_TARGET_EXAMPLES
+	$(foreach example,listdevs xusb fxload hotplugtest testlibusb dpfp dpfp_threaded sam3u_benchmark,
+		$(INSTALL) -D -m0755 $(@D)/examples/$(example) $(TARGET_DIR)/usr/bin/$(example)
+	)
+endef
+LIBUSB_POST_INSTALL_TARGET_HOOKS += LIBUSB_INSTALL_TARGET_EXAMPLES
+endif
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))