mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 15:05:19 +00:00
98 lines
2.4 KiB
Makefile
98 lines
2.4 KiB
Makefile
APPLICATION = wamr-mini
|
|
# If no BOARD is defined in the environment, use this default:
|
|
BOARD ?= native
|
|
|
|
# This has to be the absolute path to the RIOT base directory:
|
|
RIOTBASE ?= $(CURDIR)/../../../../RIOT
|
|
|
|
USEMODULE += ztimer64_msec
|
|
USEMODULE += ztimer_usec
|
|
USEMODULE += sema
|
|
|
|
WPEDANTIC := 0
|
|
WERROR := 0
|
|
|
|
# Comment this out to disable code in RIOT that does safety checking
|
|
# which is not needed in a production environment but helps in the
|
|
# development process:
|
|
DEVELHELP ?= 1
|
|
|
|
# Change this to 0 show compiler invocation lines by default:
|
|
QUIET ?= 1
|
|
|
|
ARCHIVES += $(BINDIR)/libwamr.a
|
|
|
|
#Load the usual RIOT make infastructure
|
|
|
|
include $(RIOTBASE)/Makefile.include
|
|
|
|
|
|
WAMR_SOURCE = $(CURDIR)/../../..
|
|
WAMR_BUILD_DIR = $(BINDIR)/wamr
|
|
|
|
#less Wall TODO: get things fixed
|
|
CFLAGS := $(filter-out -pedantic, $(CFLAGS))
|
|
CFLAGS += -Wno-format
|
|
CFLAGS += -Wno-strict-prototypes
|
|
CFLAGS += -Wno-old-style-definition
|
|
CFLAGS += -Wno-cast-function-type
|
|
|
|
WAMR_CORE = $(WAMR_SOURCE)/core
|
|
IWASM_ROOT = $(WAMR_CORE)/iwasm
|
|
SHARED_LIB_ROOT = $(WAMR_CORE)/shared
|
|
|
|
IWASM_INCLUDES += ${IWASM_ROOT}/include \
|
|
${SHARED_LIB_ROOT}/platform/include \
|
|
${SHARED_LIB_ROOT}/platform/riot \
|
|
|
|
|
|
INCLUDES += $(addprefix -I,${IWASM_INCLUDES})
|
|
|
|
|
|
|
|
RIOT_INCLUDES = $(filter-out -%,$(subst -I,,$(INCLUDES)))
|
|
|
|
#WAMR_BUILD_TARGET is "X86_32" "AARCH64[sub]", "ARM[sub]",
|
|
# "THUMB[sub]", "MIPS" or "XTENSA"
|
|
#no msp430, no AVR support for now
|
|
|
|
#translate (CPU_ARCH) to Build Target
|
|
ifeq ($(CPU),native)
|
|
#$(CPU) is defined for every CPU
|
|
#Riot native is x86_32
|
|
WAMR_BUILD_TARGET = X86_32
|
|
else ifeq ($(findstring arm,$(CPU_ARCH)),arm)
|
|
WAMR_BUILD_TARGET = THUMB
|
|
else ifeq ($(CPU_ARCH),mips32r2)
|
|
WAMR_BUILD_TARGET = MIPS
|
|
else ifeq ($(CPU_ARCH),xtensa)
|
|
WAMR_BUILD_TARGET = XTENSA
|
|
endif
|
|
|
|
ifeq ($(QUIET), 0)
|
|
CMAKEMAKEFLAGS += VERBOSE=1
|
|
endif
|
|
|
|
|
|
$(BINDIR)/libwamr.a: $(WAMR_BUILD_DIR)/libwamr.a
|
|
cp $< $@
|
|
|
|
$(WAMR_BUILD_DIR)/libwamr.a: $(WAMR_BUILD_DIR)/Makefile
|
|
$(MAKE) -C $(WAMR_BUILD_DIR) $(CMAKEMAKEFLAGS)
|
|
|
|
$(WAMR_BUILD_DIR)/Makefile: CMakeLists.txt
|
|
cmake -B$(WAMR_BUILD_DIR) \
|
|
"-DRIOT_INCLUDES=$(RIOT_INCLUDES)"\
|
|
-DWAMR_ROOT_DIR=$(WAMR_SOURCE)\
|
|
-DWAMR_BUILD_TARGET=$(WAMR_BUILD_TARGET)\
|
|
-DCMAKE_SYSTEM_NAME=Generic \
|
|
-DCMAKE_SYSTEM_PROCESSOR="$(MCPU)" \
|
|
-DCMAKE_C_COMPILER=$(CC) \
|
|
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
|
|
|
print_build_target:
|
|
@echo CPU_ARCH: $(CPU_ARCH)
|
|
@echo CPU: $(CPU)
|
|
@echo CFLAGS: $(CFLAGS)
|
|
@echo WAMR_BUILD_TARGET: $(WAMR_BUILD_TARGET)
|