This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
wasm-micro-runtime/product-mini/platforms/riot/Makefile

98 lines
2.4 KiB
Makefile
Raw Normal View History

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)