i2c-tools.mk 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ################################################################################
  2. #
  3. # i2c-tools
  4. #
  5. ################################################################################
  6. I2C_TOOLS_VERSION = 4.3
  7. I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz
  8. I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
  9. I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
  10. I2C_TOOLS_LICENSE_FILES = COPYING COPYING.LGPL README
  11. I2C_TOOLS_CPE_ID_VALID = YES
  12. I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
  13. I2C_TOOLS_INSTALL_STAGING = YES
  14. ifeq ($(BR2_PACKAGE_PYTHON3),y)
  15. I2C_TOOLS_DEPENDENCIES += host-python-setuptools python3
  16. endif
  17. ifeq ($(BR2_STATIC_LIBS),y)
  18. I2C_TOOLS_MAKE_OPTS += BUILD_DYNAMIC_LIB=0 USE_STATIC_LIB=1
  19. endif
  20. ifeq ($(BR2_SHARED_LIBS),y)
  21. I2C_TOOLS_MAKE_OPTS += BUILD_STATIC_LIB=0
  22. endif
  23. # Build/install steps mirror the distutil python package type in the python package
  24. # infrastructure
  25. ifeq ($(BR2_PACKAGE_PYTHON3),y)
  26. # BASE_ENV taken from PKG_PYTHON_SETUPTOOLS_ENV in package/pkg-python.mk
  27. I2C_TOOLS_PYTHON_BASE_ENV = \
  28. $(PKG_PYTHON_SETUPTOOLS_ENV) \
  29. CFLAGS="$(TARGET_CFLAGS) -I../include"
  30. define I2C_TOOLS_BUILD_PYSMBUS
  31. (cd $(@D)/py-smbus; \
  32. $(I2C_TOOLS_PYTHON_BASE_ENV) \
  33. $(HOST_DIR)/bin/python setup.py build)
  34. endef
  35. define I2C_TOOLS_INSTALL_PYSMBUS
  36. (cd $(@D)/py-smbus; \
  37. $(I2C_TOOLS_PYTHON_BASE_ENV) \
  38. $(HOST_DIR)/bin/python setup.py install \
  39. $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \
  40. --root=$(TARGET_DIR))
  41. endef
  42. endif # BR2_PACKAGE_PYTHON3
  43. define I2C_TOOLS_BUILD_CMDS
  44. $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) -C $(@D)
  45. $(I2C_TOOLS_BUILD_PYSMBUS)
  46. endef
  47. define I2C_TOOLS_INSTALL_TARGET_CMDS
  48. $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
  49. DESTDIR="$(TARGET_DIR)" PREFIX=/usr -C $(@D) install
  50. $(I2C_TOOLS_INSTALL_PYSMBUS)
  51. endef
  52. define I2C_TOOLS_INSTALL_STAGING_CMDS
  53. $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
  54. DESTDIR="$(STAGING_DIR)" PREFIX=/usr -C $(@D) install
  55. endef
  56. $(eval $(generic-package))