micropython.mk 1.3 KB

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