mirror of
https://github.com/google/pebble.git
synced 2025-03-25 21:09:05 +00:00
98 lines
2.7 KiB
Text
98 lines
2.7 KiB
Text
# Copyright 2015-2016 Samsung Electronics Co., Ltd.
|
|
# Copyright 2016 University of Szeged.
|
|
#
|
|
# 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./ \
|
|
-DENABLE_LTO=OFF \
|
|
-DFEATURE_VALGRIND=OFF \
|
|
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain_external.cmake \
|
|
-DJERRY_LIBC=OFF \
|
|
-DJERRY_CMDLINE=OFF \
|
|
-DENABLE_ALL_IN_ONE=OFF \
|
|
-DEXTERNAL_CMAKE_SYSTEM_PROCESSOR=armv7l-hf \
|
|
-DEXTERNAL_CMAKE_C_COMPILER=arm-none-eabi-gcc \
|
|
-DEXTERNAL_CMAKE_C_COMPILER_ID=GNU \
|
|
-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; \
|
|
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
|