libusb.mk 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #############################################################
  2. #
  3. # libusb
  4. #
  5. #############################################################
  6. LIBUSB_VERSION:=0.1.12
  7. LIBUSB_PATCH_FILE:=libusb_$(LIBUSB_VERSION)-7.diff.gz
  8. LIBUSB_SOURCE:=libusb_$(LIBUSB_VERSION).orig.tar.gz
  9. #LIBUSB_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libusb/
  10. LIBUSB_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/libu/libusb
  11. LIBUSB_DIR:=$(BUILD_DIR)/libusb-$(LIBUSB_VERSION)
  12. LIBUSB_CAT:=$(ZCAT)
  13. LIBUSB_BINARY:=usr/lib/libusb.so
  14. ifneq ($(LIBUSB_PATCH_FILE),)
  15. LIBUSB_PATCH=$(DL_DIR)/$(LIBUSB_PATCH_FILE)
  16. $(LIBUSB_PATCH):
  17. $(WGET) -P $(DL_DIR) $(LIBUSB_SITE)/$(LIBUSB_PATCH_FILE)
  18. endif
  19. $(DL_DIR)/$(LIBUSB_SOURCE): $(LIBUSB_PATCH)
  20. $(WGET) -P $(DL_DIR) $(LIBUSB_SITE)/$(LIBUSB_SOURCE)
  21. touch -c $@
  22. libusb-source: $(DL_DIR)/$(LIBUSB_SOURCE) $(LIBUSB_PATCH)
  23. libusb-unpacked: host-automake host-autoconf $(LIBUSB_DIR)/.unpacked
  24. $(LIBUSB_DIR)/.unpacked: $(DL_DIR)/$(LIBUSB_SOURCE)
  25. $(LIBUSB_CAT) $(DL_DIR)/$(LIBUSB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  26. ifneq ($(LIBUSB_PATCH_FILE),)
  27. (cd $(LIBUSB_DIR) && $(LIBUSB_CAT) $(LIBUSB_PATCH) | patch -p1)
  28. endif
  29. toolchain/patch-kernel.sh $(LIBUSB_DIR) package/libusb/ libusb-$(LIBUSB_VERSION)\*.patch*
  30. $(SED) 's,^all:.*,all:,g' $(LIBUSB_DIR)/tests/Makefile.in
  31. $(SED) 's,^install:.*,install:,g' $(LIBUSB_DIR)/tests/Makefile.in
  32. $(CONFIG_UPDATE) $(LIBUSB_DIR)
  33. cd $(LIBUSB_DIR) && $(AUTORECONF)
  34. touch $@
  35. $(LIBUSB_DIR)/.configured: $(LIBUSB_DIR)/.unpacked
  36. (cd $(LIBUSB_DIR); rm -rf config.cache; \
  37. $(TARGET_CONFIGURE_OPTS) \
  38. $(TARGET_CONFIGURE_ARGS) \
  39. ac_cv_header_regex_h=no \
  40. ./configure \
  41. --target=$(GNU_TARGET_NAME) \
  42. --host=$(GNU_TARGET_NAME) \
  43. --build=$(GNU_HOST_NAME) \
  44. --prefix=/ \
  45. --disable-debug \
  46. --disable-build-docs \
  47. )
  48. touch $@
  49. $(STAGING_DIR)/lib/libusb.so: $(LIBUSB_DIR)/.configured
  50. $(MAKE) -C $(LIBUSB_DIR)
  51. $(MAKE) -C $(LIBUSB_DIR) DESTDIR=$(STAGING_DIR) install
  52. $(TARGET_DIR)/$(LIBUSB_BINARY): $(STAGING_DIR)/lib/libusb.so
  53. $(INSTALL) -D $(LIBUSB_DIR)/.libs/libusb*.so* $(STAGING_DIR)/usr/lib/
  54. $(INSTALL) -D $(LIBUSB_DIR)/.libs/libusb*.so* $(TARGET_DIR)/usr/lib/
  55. $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libusb*.so*
  56. libusb: uclibc $(TARGET_DIR)/$(LIBUSB_BINARY)
  57. libusb-clean:
  58. rm -f $(STAGING_DIR)/bin/libusb-config
  59. rm -f $(STAGING_DIR)/usr/includes/usb*.h
  60. rm -f $(STAGING_DIR)/lib/libusb*
  61. rm -rf $(STAGING_DIR)/lib/pkgconfig
  62. rm -f $(TARGET_DIR)/usr/lib/libusb*
  63. -$(MAKE) -C $(LIBUSB_DIR) clean
  64. libusb-dirclean:
  65. rm -rf $(LIBUSB_DIR)
  66. #############################################################
  67. #
  68. # Toplevel Makefile options
  69. #
  70. #############################################################
  71. ifeq ($(strip $(BR2_PACKAGE_LIBUSB)),y)
  72. TARGETS+=libusb
  73. endif