Files
jerryscript/targets/mbed/Makefile.mbed
T
Akos Kiss 53bd845d9f Move (almost all) Travis CI jobs to container-based infrastructure (#2333)
Container-based VMs promise significantly faster boot times.

More or less related changes:
- Added a JOBNAME to all jobs.
- Added `install-noapt` target to several Makefile.travis files to
  avoid `sudo apt-get install ...` steps. Those installations are
  now handled by the apt addon of Travis. The `install` targets are
  kept anyway to keep the makefiles self-contained.
- Removed a legacy workaround from the Coverity Scan job as it
  isn't necessary anymore to fiddle with the cerificates of
  scan.coverity.com.
- Fixed the Mbed and the Zephyr jobs.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
2018-05-16 19:15:15 +09:00

98 lines
2.7 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.
# use TAB-8
TARGET_LIST = k64f stm32f4 stm32f429i nucleo
JERRYHEAP ?= 16
ifneq ($(filter $(board), $(TARGET_LIST)),)
TARGET = $(board)
ifeq ($(TARGET), k64f)
YOTTA_TARGET = frdm-k64f-gcc
TARGET_DIR ?= /media/$(USER)/MBED
else ifeq ($(TARGET), stm32f4)
YOTTA_TARGET = stm32f4-disco-gcc
else ifeq ($(TARGET), stm32f429i)
YOTTA_TARGET = stm32f429i-disco-gcc
else ifeq ($(TARGET), nucleo)
YOTTA_TARGET = st-nucleo-f401re-gcc
TARGET_DIR ?= /media/$(USER)/NODE_F401RE
endif
BUILD_DIR ?= build/mbed
UPPERC_TARGET ?= $(shell echo $(TARGET) | tr a-z A-Z)
COPYTARGET ?= targets/mbed/libjerry
else
$(error This board ($(board)) is not supported!)
endif
EXT_CFLAGS := -D__TARGET_MBED_$(UPPERC_TARGET)
EXT_CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4
EXT_CFLAGS += -Wno-error=format=
EXT_PORT_DIR := ""
.PHONY: jerry js2c yotta flash clean
all: jerry js2c yotta
jerry:
mkdir -p $(COPYTARGET)
mkdir -p $(BUILD_DIR)
cmake -B$(BUILD_DIR) -H./ \
-DCMAKE_SYSTEM_NAME=Mbed \
-DCMAKE_SYSTEM_PROCESSOR=armv7l-hf \
-DCMAKE_C_COMPILER=arm-none-eabi-gcc \
-DCMAKE_C_COMPILER_WORKS=TRUE \
-DENABLE_LTO=OFF \
-DENABLE_ALL_IN_ONE=OFF \
-DJERRY_LIBC=OFF \
-DJERRY_CMDLINE=OFF \
-DEXTERNAL_COMPILE_FLAGS="$(EXT_CFLAGS)" \
-DMEM_HEAP_SIZE_KB=$(JERRYHEAP) \
make -C$(BUILD_DIR) jerry-core
make -C$(BUILD_DIR) jerry-libm
cp $(BUILD_DIR)/lib/libjerry-core.a $(COPYTARGET)/libjerrycore.a
cp $(BUILD_DIR)/lib/libjerry-libm.a $(COPYTARGET)/libjerrylibm.a
js2c:
cd targets/mbed; ../../tools/js2c.py;
yotta:
cd targets/mbed; \
export WCMAKE=`which cmake`; export PATH=`pwd`:$$PATH; \
yotta target $(YOTTA_TARGET); \
yotta build
flash:
ifndef TARGET_DIR
st-flash write targets/mbed/build/$(YOTTA_TARGET)/source/jerry.bin 0x08000000
else
@if [ ! -d "${TARGET_DIR}" ] ; then \
echo "The board not mounted at ${TARGET_DIR}"; \
exit 1; \
fi
cp targets/mbed/build/$(YOTTA_TARGET)/source/jerry.bin \
"$(TARGET_DIR)/."
endif
@echo "Wait till LED flashing stops..."
clean:
rm -rf $(COPYTARGET)
rm -rf $(OUTPUT)
rm -rf targets/mbed/build