micropython.mk 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. ################################################################################
  2. #
  3. # micropython
  4. #
  5. ################################################################################
  6. MICROPYTHON_VERSION = 1.12
  7. MICROPYTHON_SITE = $(call github,micropython,micropython,v$(MICROPYTHON_VERSION))
  8. MICROPYTHON_LICENSE = MIT
  9. MICROPYTHON_LICENSE_FILES = LICENSE
  10. MICROPYTHON_DEPENDENCIES = host-pkgconf libffi $(BR2_PYTHON3_HOST_DEPENDENCY)
  11. # Set GIT_DIR so package won't use buildroot's version number
  12. MICROPYTHON_MAKE_ENV = \
  13. $(TARGET_MAKE_ENV) \
  14. GIT_DIR=.
  15. # Use fallback implementation for exception handling on architectures that don't
  16. # have explicit support.
  17. ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb),)
  18. MICROPYTHON_CFLAGS = -DMICROPY_GCREGS_SETJMP=1
  19. endif
  20. # When building from a tarball we don't have some of the dependencies that are in
  21. # the git repository as submodules
  22. MICROPYTHON_MAKE_OPTS = MICROPY_PY_BTREE=0
  23. MICROPYTHON_MAKE_OPTS += MICROPY_PY_USSL=0
  24. define MICROPYTHON_BUILD_CMDS
  25. $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/mpy-cross
  26. $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \
  27. $(MICROPYTHON_MAKE_OPTS) \
  28. CROSS_COMPILE=$(TARGET_CROSS) \
  29. CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS)
  30. endef
  31. define MICROPYTHON_INSTALL_TARGET_CMDS
  32. $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \
  33. $(MICROPYTHON_MAKE_OPTS) \
  34. CROSS_COMPILE=$(TARGET_CROSS) \
  35. CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS) \
  36. DESTDIR=$(TARGET_DIR) \
  37. PREFIX=$(TARGET_DIR)/usr \
  38. install
  39. endef
  40. $(eval $(generic-package))