############################################################################ # apps/interpreters/wamr/Toolchain.defs # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. The # ASF licenses this file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance with the # License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ############################################################################ # Wamrc toolchain flags WRC ?= wamrc ifeq ($(CONFIG_ARCH_XTENSA),y) WTARGET = xtensa else ifeq ($(CONFIG_ARCH_X86_64),y) WTARGET = x86_64 else ifeq ($(CONFIG_ARCH_X86),y) WTARGET = i386 else ifeq ($(CONFIG_ARCH_MIPS),y) WTARGET = mips else ifeq ($(CONFIG_ARCH_SIM),y) RCFLAGS += --disable-simd ifeq ($(CONFIG_SIM_M32),y) WTARGET = i386 else WTARGET = x86_64 endif else # Flags for other architectures (arm or riscv) WTARGET = $(LLVM_ARCHTYPE) WCPU = $(LLVM_CPUTYPE) endif RCFLAGS += --target=$(WTARGET) --target-abi=$(LLVM_ABITYPE) --cpu=$(WCPU) define WAMR_AOT_COMPILE $(if $(wildcard $(APPDIR)$(DELIM)wasm$(DELIM)*.wo), \ $(foreach bin,$(wildcard $(APPDIR)$(DELIM)wasm$(DELIM)*.wo), \ $(eval PROGNAME=$(shell echo $(notdir $(bin)) | cut -d'#' -f1)) \ $(eval WAMRMODE=$(shell echo $(notdir $(bin)) | cut -d'#' -f5)) \ $(if $(CONFIG_INTERPRETERS_WAMR_AOT), \ $(if $(filter AOT,$(WAMRMODE)), \ $(info Wamrc Generate AoT: $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).aot) \ $(shell $(WRC) $(RCFLAGS) -o $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).aot \ $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).wasm > /dev/null), \ $(if $(filter XIP,$(WAMRMODE)), \ $(info Wamrc Generate XiP: $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).xip) \ $(shell $(WRC) $(RCFLAGS) --enable-indirect-mode --disable-llvm-intrinsics \ -o $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).xip \ $(APPDIR)$(DELIM)wasm$(DELIM)$(PROGNAME).wasm > /dev/null) \ ) \ ) \ ) \ ) \ ) endef