libosmocore libusb integration

Osmocom applications typically use libosmocore select.[ch] event loop
code as their main event dispatch mechanism.  When they want to deal
with libusb in a non-blocking/asynchronous way, they need to integrate
libusb into that select().

The new libosmousb is doing exactly that: Providing a shared utility
library for Osmocom programs that wish to use libusb.  This is useful
for example in simtrace2 host utilitie as well as osmo-e1d.

Change-Id: I656a1a38cbb5b1f3a9145d2869d3b4d0adefcae3
Closes: OS#4299
diff --git a/src/usb/Makefile.am b/src/usb/Makefile.am
new file mode 100644
index 0000000..bca39bf
--- /dev/null
+++ b/src/usb/Makefile.am
@@ -0,0 +1,21 @@
+# This is _NOT_ the library release version, it's an API version.
+# Please read chapter "Library interface versions" of the libtool documentation
+# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
+LIBVERSION=0:0:0
+
+AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include
+AM_CFLAGS = -fPIC -Wall $(LIBUSB_CFLAGS) $(TALLOC_CFLAGS)
+AM_LDFLAGS = $(COVERAGE_LDFLAGS)
+
+if ENABLE_LIBUSB
+
+lib_LTLIBRARIES = libosmousb.la
+
+libosmousb_la_SOURCES = osmo_libusb.c
+libosmosim_la_LDFLAGS = -version-info $(LIBVERSION)
+libosmosim_la_LIBADD = \
+	$(top_builddir)/src/libosmocore.la \
+	$(TALLOC_LIBS) \
+	$(LIBUSB_LIBS)
+
+endif