Currently all tools and exampled are unconditionally installed.
This patch changes this by adding a selection for every binary.

Signed-off-by: Michael Grzeschik <m.grzesc...@pengutronix.de>
---
 rules/libusbgx.in   | 85 ++++++++++++++++++++++++++++++++++++++++++++-
 rules/libusbgx.make | 53 +++++++++++++++++++++++++++-
 2 files changed, 136 insertions(+), 2 deletions(-)

diff --git a/rules/libusbgx.in b/rules/libusbgx.in
index 98776c026..ba1595c2a 100644
--- a/rules/libusbgx.in
+++ b/rules/libusbgx.in
@@ -1,8 +1,91 @@
 ## SECTION=communication
 
-config LIBUSBGX
+menuconfig LIBUSBGX
        bool
        prompt "libusbgx"
        help
          libusbgx is a C library encapsulating the kernel USB gadget-configfs
          userspace API functionality.
+
+if LIBUSBGX
+
+config SHOW_GADGETS
+       bool "install show-gadget tool"
+       help
+         Wether to build the show-gadget tool
+         to list all already installed gadgets in configfs
+
+config SHOW_UDCS
+       bool "install show-udcs tool"
+       help
+         Wether to build the show-udcs tool
+         to list all available udcs
+
+config GADGET_VID_PID_REMOVE
+       bool "install gadget-vid-pid-remove tool"
+       help
+         Wether to build the gadget-vid-pid-remove tool
+         to remove whole configfs gadget setup defined for
+         vid and pid
+
+config GADGET_EXPORT
+       bool "install gadget-export tool"
+       help
+         Wether to build the gadget-export tool
+         to export the configfs configuration to a scheme file
+
+config GADGET_IMPORT
+       bool "install gadget-import tool"
+       help
+         Wether to build the gadget-import tool
+         to import the configfs configuration from a scheme file
+
+config GADGET_ACM_ECM
+       bool "install gadget-acm-ecm example tool"
+       help
+         Wether to build the gadget-acm-ecm example tool
+         to create an configfs gadget setup for an acm-ecm device
+
+config GADGET_UVC
+       bool "install gadget-uvc example tool"
+       help
+         Wether to build the gadget-uvc example tool
+         to create an configfs gadget setup for an uvc device
+
+config GADGET_FFS
+       bool "install gadget-ffs example tool"
+       help
+         Wether to build the gadget-ffs example tool
+         to create an configfs gadget setup for an function-fs device
+
+config GADGET_MS
+       bool "install gadget-ms example tool"
+       help
+         Wether to build the gadget-ms example tool to create an
+         configfs gadget setup for an mass-storage device
+
+config GADGET_MIDI
+       bool "install gadget-midi example tool"
+       help
+         Wether to build the gadget-midi example tool
+         to create an configfs gadget setup for an midi device
+
+config GADGET_HID
+       bool "install gadget-hid example tool"
+       help
+         Wether to build the gadget-hid example tool
+         to create an configfs gadget setup for an hid device
+
+config GADGET_UAC2
+       bool "install gadget-uac2 example tool"
+       help
+         Wether to build the gadget-uac2 example tool
+         to create an configfs gadget setup for an Audio Class device
+
+config GADGET_RNDIS_OS_DESC
+       bool "install gadget-rndis-os-desc example tool"
+       help
+         Wether to build the gadget-rndis-os-desc example tool
+         to create an configfs gadget setup for an rndis ethernet device
+
+endif
diff --git a/rules/libusbgx.make b/rules/libusbgx.make
index 6c8fce429..958b3f1e1 100644
--- a/rules/libusbgx.make
+++ b/rules/libusbgx.make
@@ -57,7 +57,58 @@ $(STATEDIR)/libusbgx.targetinstall:
        @$(call install_fixup, libusbgx, DESCRIPTION, missing)
 
        @$(call install_lib, libusbgx, 0, 0, 0644, libusbgx)
-       @$(call install_tree, libusbgx, 0, 0, -, /usr/bin)
+
+ifdef PTXCONF_SHOW_GADGETS
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/show-gadgets)
+endif
+
+ifdef PTXCONF_SHOW_UDCS
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/show-gadgets)
+endif
+
+ifdef PTXCONF_GADGET_VID_PID_REMOVE
+       @$(call install_copy, libusbgx, 0, 0, 0755, 
/usr/bin/gadget-vid-pid-remove)
+endif
+
+ifdef PTXCONF_GADGET_IMPORT
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-import)
+endif
+
+ifdef PTXCONF_GADGET_EXPORT
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-export)
+endif
+
+ifdef PTXCONF_GADGET_ACM_ECM
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-acm-ecm)
+endif
+
+ifdef PTXCONF_GADGET_UVC
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-uvc)
+endif
+
+ifdef PTXCONF_GADGET_FFS
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-ffs)
+endif
+
+ifdef PTXCONF_GADGET_MS
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-ms)
+endif
+
+ifdef PTXCONF_GADGET_MIDI
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-midi)
+endif
+
+ifdef PTXCONF_GADGET_HID
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-hid)
+endif
+
+ifdef PTXCONF_GADGET_UAC2
+       @$(call install_copy, libusbgx, 0, 0, 0755, /usr/bin/gadget-uac2)
+endif
+
+ifdef PTXCONF_GADGET_RNDIS_OS_DESC
+       @$(call install_copy, libusbgx, 0, 0, 0755, 
/usr/bin/gadget-rndis-os-desc)
+endif
 
        @$(call install_finish, libusbgx)
 
-- 
2.29.2


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de

Reply via email to