aos.mk 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. NAME := iwasm
  4. CORE_ROOT := wamr/core
  5. IWASM_ROOT := wamr/core/iwasm
  6. SHARED_ROOT := wamr/core/shared
  7. GLOBAL_DEFINES += BH_MALLOC=wasm_runtime_malloc
  8. GLOBAL_DEFINES += BH_FREE=wasm_runtime_free
  9. # Change it to THUMBV7M if you want to build for developerkit
  10. WAMR_BUILD_TARGET := X86_32
  11. WAMR_BUILD_PLATFORM := alios-things
  12. ifeq (${WAMR_BUILD_TARGET}, X86_32)
  13. GLOBAL_DEFINES += BUILD_TARGET_X86_32
  14. INVOKE_NATIVE := invokeNative_ia32.s
  15. AOT_RELOC := aot_reloc_x86_32.c
  16. else ifeq (${WAMR_BUILD_TARGET}, X86_64)
  17. GLOBAL_DEFINES += BUILD_TARGET_X86_64
  18. INVOKE_NATIVE := invokeNative_em64.s
  19. AOT_RELOC := aot_reloc_x86_64.c
  20. else ifeq ($(findstring ARM,$(WAMR_BUILD_TARGET)), ARM)
  21. GLOBAL_DEFINES += BUILD_TARGET_ARM
  22. GLOBAL_DEFINES += BUILD_TARGET=\"$(WAMR_BUILD_TARGET)\"
  23. INVOKE_NATIVE := invokeNative_arm.s
  24. AOT_RELOC := aot_reloc_arm.c
  25. else ifeq ($(findstring THUMB,$(WAMR_BUILD_TARGET)), THUMB)
  26. GLOBAL_DEFINES += BUILD_TARGET_THUMB
  27. GLOBAL_DEFINES += BUILD_TARGET=\"$(WAMR_BUILD_TARGET)\"
  28. INVOKE_NATIVE := invokeNative_thumb.s
  29. AOT_RELOC := aot_reloc_thumb.c
  30. else ifeq (${WAMR_BUILD_TARGET}, MIPS)
  31. GLOBAL_DEFINES += BUILD_TARGET_MIPS
  32. INVOKE_NATIVE := invokeNative_mips.s
  33. AOT_RELOC := aot_reloc_mips.c
  34. else ifeq (${WAMR_BUILD_TARGET}, XTENSA)
  35. GLOBAL_DEFINES += BUILD_TARGET_XTENSA
  36. INVOKE_NATIVE := invokeNative_xtensa.s
  37. AOT_RELOC := aot_reloc_xtensa.c
  38. else
  39. $(error Build target isn't set)
  40. endif
  41. # Enable Interpreter by default.
  42. WAMR_BUILD_INTERP = 1
  43. # Enable AOT by default.
  44. WAMR_BUILD_AOT = 1
  45. # Override the global heap usage
  46. ifndef WAMR_BUILD_GLOBAL_HEAP_POOL
  47. WAMR_BUILD_GLOBAL_HEAP_POOL=1
  48. endif
  49. GLOBAL_DEFINES += WASM_ENABLE_GLOBAL_HEAP_POOL=${WAMR_BUILD_GLOBAL_HEAP_POOL}
  50. # Override the global heap size for small devices
  51. ifndef WAMR_BUILD_GLOBAL_HEAP_SIZE
  52. WAMR_BUILD_GLOBAL_HEAP_SIZE = 262144 # 256 kB
  53. endif
  54. GLOBAL_DEFINES += WASM_GLOBAL_HEAP_SIZE=${WAMR_BUILD_GLOBAL_HEAP_SIZE}
  55. ifeq (${WAMR_BUILD_INTERP}, 1)
  56. GLOBAL_DEFINES += WASM_ENABLE_INTERP=1
  57. endif
  58. ifeq (${WAMR_BUILD_AOT}, 1)
  59. GLOBAL_DEFINES += WASM_ENABLE_AOT=1
  60. endif
  61. GLOBAL_DEFINES += WASM_ENABLE_LIBC_BUILTIN=1
  62. GLOBAL_INCLUDES += ${CORE_ROOT} \
  63. ${IWASM_ROOT}/include \
  64. ${IWASM_ROOT}/common \
  65. ${SHARED_ROOT}/include \
  66. ${SHARED_ROOT}/platform/include \
  67. ${SHARED_ROOT}/utils \
  68. ${SHARED_ROOT}/mem-alloc \
  69. ${SHARED_ROOT}/platform/alios
  70. ifeq (${WAMR_BUILD_INTERP}, 1)
  71. GLOBAL_INCLUDES += ${IWASM_ROOT}/interpreter
  72. endif
  73. ifeq (${WAMR_BUILD_AOT}, 1)
  74. GLOBAL_INCLUDES += ${IWASM_ROOT}/aot
  75. endif
  76. $(NAME)_SOURCES := ${SHARED_ROOT}/platform/alios/alios_platform.c \
  77. ${SHARED_ROOT}/platform/alios/alios_thread.c \
  78. ${SHARED_ROOT}/platform/alios/alios_time.c \
  79. ${SHARED_ROOT}/platform/common/math/math.c \
  80. ${SHARED_ROOT}/mem-alloc/mem_alloc.c \
  81. ${SHARED_ROOT}/mem-alloc/ems/ems_kfc.c \
  82. ${SHARED_ROOT}/mem-alloc/ems/ems_alloc.c \
  83. ${SHARED_ROOT}/mem-alloc/ems/ems_hmu.c \
  84. ${SHARED_ROOT}/utils/bh_assert.c \
  85. ${SHARED_ROOT}/utils/bh_bitmap.c \
  86. ${SHARED_ROOT}/utils/bh_common.c \
  87. ${SHARED_ROOT}/utils/bh_hashmap.c \
  88. ${SHARED_ROOT}/utils/bh_list.c \
  89. ${SHARED_ROOT}/utils/bh_log.c \
  90. ${SHARED_ROOT}/utils/bh_queue.c \
  91. ${SHARED_ROOT}/utils/bh_vector.c \
  92. ${SHARED_ROOT}/utils/runtime_timer.c \
  93. ${IWASM_ROOT}/libraries/libc-builtin/libc_builtin_wrapper.c \
  94. ${IWASM_ROOT}/common/wasm_application.c \
  95. ${IWASM_ROOT}/common/wasm_runtime_common.c \
  96. ${IWASM_ROOT}/common/wasm_native.c \
  97. ${IWASM_ROOT}/common/wasm_exec_env.c \
  98. ${IWASM_ROOT}/common/wasm_memory.c \
  99. ${IWASM_ROOT}/common/wasm_c_api.c \
  100. ${IWASM_ROOT}/common/arch/${INVOKE_NATIVE} \
  101. src/main.c
  102. ifeq (${WAMR_BUILD_INTERP}, 1)
  103. $(NAME)_SOURCES += ${IWASM_ROOT}/interpreter/wasm_interp_classic.c \
  104. ${IWASM_ROOT}/interpreter/wasm_loader.c \
  105. ${IWASM_ROOT}/interpreter/wasm_runtime.c
  106. endif
  107. ifeq (${WAMR_BUILD_AOT}, 1)
  108. $(NAME)_SOURCES += ${IWASM_ROOT}/aot/aot_loader.c \
  109. ${IWASM_ROOT}/aot/arch/${AOT_RELOC} \
  110. ${IWASM_ROOT}/aot/aot_runtime.c \
  111. ${IWASM_ROOT}/aot/aot_intrinsic.c
  112. endif