Files
jerryscript/targets/os/mbedos/Makefile
T
Roland Takacs c9e9f8e818 Add support for Mbed-OS 6.15.0 (#4909)
The default Mbed OS device (STM32F4) had been changed to FRDM-K64F that is
supported by both Mbed OS 5 and Mbed OS 6 versions. Makefile had also been
modified to have a flash recipe.

JerryScript-DCO-1.0-Signed-off-by: Roland Takacs roland.takacs@h-lab.eu
2022-02-22 10:29:07 +01:00

74 lines
1.9 KiB
Makefile

# Copyright JS Foundation and other contributors, http://js.foundation
#
# Licensed 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.
# default board: FRDM-K64F
BOARD ?= K64F
# defult toolchain
TOOLCHAIN ?= GCC_ARM
# path to jerryscript/targets/os/mbedos5
JERRY_TARGET_DIR = $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
# path to the root jerryscript directory
JERRY_ROOT_DIR = $(realpath $(JERRY_TARGET_DIR)/../../..)
# default build path
BUILD_DIR ?= $(JERRY_ROOT_DIR)/build/mbed-os
# default jerry heap size (in KB)
JERRY_HEAP_SIZE ?= 70
define MBED_CLI_FLAGS
--clean
--build $(BUILD_DIR)
--source $(MBED_OS_DIR)
--source $(JERRY_ROOT_DIR)
--source $(JERRY_TARGET_DIR)
--toolchain $(TOOLCHAIN)
--target $(BOARD)
--artifact-name mbedos
--macro JERRY_GLOBAL_HEAP_SIZE=$(JERRY_HEAP_SIZE)
endef
.PHONY: all
all: .build
.PHONY: clean
clean: .mbedignore-remove
rm -rf $(JERRY_ROOT_DIR)/build/mbed-os
.PHONY: flash
flash: .mbed-set-flash-flag .build
.PHONY: .mbed-set-flash-flag
.mbed-set-flash-flag:
$(eval MBED_CLI_FLAGS += --flash)
.PHONY: .build
.build: .mbedignore-copy .mbed-build .mbedignore-remove
.PHONY: .mbed-build
.mbed-build:
mbed config -G MBED_OS_DIR $(MBED_OS_DIR)
mbed compile $(strip $(MBED_CLI_FLAGS))
.PHONY: .mbedignore-copy
.mbedignore-copy:
cp mbedignore.txt $(JERRY_ROOT_DIR)/.mbedignore
.PHONY: .mbedignore-remove
.mbedignore-remove:
rm -f $(JERRY_ROOT_DIR)/.mbedignore