290bc22f0c
In 1.10, Zephyr RTOS switched to CMake as means to generate application makefiles. Consequently, drop Makefile, and introduce CMakeLists.txt, and update master Makefile.zephyr accordingly. With these changes, take a chance to make following "cosmetic" changes: 1. Make "qemu_x86" board target the default instead of "arduino_101". Arduino 101 is just one of the boards of many supported by Zephyr (and thus JerryScript port), while qemu_x86 is something everyone has. 2. Zephyr make target to run QEMU switched from "qemu" to "run". 3. Don't rely that there's zephyr.strip, it's presence is now board-dependent. The most we can rely on is zephyr.elf. targets: zephyr: Remove deprecated prj.mdef file. MDEF files have been deprecated and ignored for few Zephyr releases. targets: zephyr: Increase main (i.e. interpreter) thread stack size. qemu_x86 target now has stack guard enabled by default and it trips with the default stack size. Set it to 2K for now. targets: zephyr: Makefile.travis: Update for Zephyr 1.10. Zephyr 1.10 requires SDK 0.9.2 and CMake 3.8.2. Also, don't hardcode CC path, it depends on a board and choosed automatically by Zephyr build system. JerryScript-DCO-1.0-Signed-off-by: Paul Sokolovsky paul.sokolovsky@linaro.org
54 lines
2.0 KiB
Makefile
54 lines
2.0 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 target for running the build test outside the Travis CI environment.
|
|
all:
|
|
$(MAKE) install
|
|
$(MAKE) script
|
|
|
|
|
|
## Targets for installing build dependencies of the Zephyr JerryScript target.
|
|
|
|
# Install tools via apt.
|
|
install-apt-get-deps:
|
|
sudo apt-get install -q -y gperf dfu-util device-tree-compiler python3-ply python3-pip
|
|
|
|
# Install Zephyr SDK.
|
|
install-zephyr-sdk:
|
|
wget https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.2/zephyr-sdk-0.9.2-setup.run -O ../zephyr-sdk-0.9.2-setup.run
|
|
sh ../zephyr-sdk-0.9.2-setup.run -- -y -d $(CURDIR)/../zephyr-sdk-0.9.2
|
|
wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh
|
|
sudo sh cmake-3.8.2-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir
|
|
cmake --version
|
|
|
|
# Fetch Zephyr Project repository and install python dependencies.
|
|
install-zephyr: install-apt-get-deps
|
|
git clone https://github.com/zephyrproject-rtos/zephyr.git ../zephyr -b v1.10.0
|
|
pip3 install --user -r ../zephyr/scripts/requirements.txt
|
|
|
|
# Perform all the necessary (JerryScript-independent) installation steps.
|
|
install: install-zephyr-sdk install-zephyr
|
|
|
|
|
|
## Targets for building Zephyr with JerryScript.
|
|
|
|
# Build the firmware (Zephyr with JerryScript).
|
|
SHELL=bash
|
|
script:
|
|
export ZEPHYR_GCC_VARIANT=zephyr && \
|
|
export ZEPHYR_SDK_INSTALL_DIR=$(CURDIR)/../zephyr-sdk-0.9.2 && \
|
|
source ../zephyr/zephyr-env.sh && \
|
|
$(MAKE) -f ./targets/zephyr/Makefile.zephyr BOARD=arduino_101
|