mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Until now, the ESP8266 target used a non-tagged git hash revision of the RTOS SDK (from Oct 2017). Moreover, the compiler was also a custom-built gcc. This commit sets the RTOS SDK version to v2.1.0, released Oct 2018, which is the latest old-style SDK for ESP. The commit also changes the used gcc to an Espressif-provided pre-built toolchain, which is tagged for the (latest) v3.0.1 SDK release. (The SDK bump is not to the latest SDK version because the new v3.x line of the SDK is "ESP-IDF style", which is incompatible with the current target code base. On the other hand, the toolchain comes from the latest SDK release because the v2.x line had no pre-built toolchain suggestions -- but it builds v2.x sources correctly.) JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
163 lines
4.1 KiB
Makefile
163 lines
4.1 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.
|
|
|
|
#############################################################
|
|
# Required variables for each makefile
|
|
# Discard this section from all parent makefiles
|
|
# Expected variables (with automatic defaults):
|
|
# CSRCS (all "C" files in the dir)
|
|
# SUBDIRS (all subdirs with a Makefile)
|
|
# GEN_LIBS - list of libs to be generated ()
|
|
# GEN_IMAGES - list of object file images to be generated ()
|
|
# GEN_BINS - list of binaries to be generated ()
|
|
# COMPONENTS_xxx - a list of libs/objs in the form
|
|
# subdir/lib to be extracted and rolled up into
|
|
# a generated lib/image xxx.a ()
|
|
#
|
|
# Tabsize : 8
|
|
#
|
|
TARGET = eagle
|
|
FLAVOR = release
|
|
#FLAVOR = debug
|
|
|
|
#EXTRA_CCFLAGS += -u
|
|
|
|
ifndef PDIR # {
|
|
GEN_IMAGES= eagle.app.v6.out
|
|
GEN_BINS= eagle.app.v6.bin
|
|
SPECIAL_MKTARGETS=$(APP_MKTARGETS)
|
|
SUBDIRS= user
|
|
endif # } PDIR
|
|
|
|
# path to the JERRYSCRIPT directory
|
|
JERRYDIR ?= $(CURDIR)/../../..
|
|
|
|
LDDIR = $(SDK_PATH)/ld
|
|
|
|
#############################################################
|
|
# JerryScript requires a modified linker script with specified alignments
|
|
# so we use it instead of the original one from SDK.
|
|
JERRY_LD_FILE = $(CURDIR)/ld/eagle.app.v6.ld
|
|
|
|
CCFLAGS += -Os -std=c99
|
|
#CCFLAGS += -O0
|
|
|
|
TARGET_LDFLAGS = \
|
|
-nostdlib \
|
|
-Wl,-EL \
|
|
--longcalls \
|
|
--text-section-literals
|
|
|
|
ifeq ($(FLAVOR),debug)
|
|
TARGET_LDFLAGS += -O0 -g
|
|
endif
|
|
|
|
ifeq ($(FLAVOR),release)
|
|
TARGET_LDFLAGS += -Os
|
|
endif
|
|
|
|
COMPONENTS_eagle.app.v6 = \
|
|
user/libuser.a
|
|
|
|
LINKFLAGS_eagle.app.v6 = \
|
|
-L$(SDK_PATH)/lib \
|
|
-Wl,--gc-sections \
|
|
-Wl,-Map,output.map \
|
|
-nostdlib \
|
|
-T$(JERRY_LD_FILE) \
|
|
-Wl,--no-check-sections \
|
|
-u call_user_start \
|
|
-Wl,-static \
|
|
-Wl,--start-group \
|
|
-lcirom \
|
|
-lcrypto \
|
|
-lespconn \
|
|
-lespnow \
|
|
-lfreertos \
|
|
-lgcc \
|
|
-lhal \
|
|
-ljson \
|
|
-llwip \
|
|
-ldriver \
|
|
-lmain \
|
|
-lmirom \
|
|
-lnet80211 \
|
|
-lnopoll \
|
|
-lphy \
|
|
-lpp \
|
|
-lpwm \
|
|
-lsmartconfig \
|
|
-lspiffs \
|
|
-lssl \
|
|
-lwpa \
|
|
-lwps \
|
|
-L./libs \
|
|
-ljerry-core \
|
|
-ljerry-libm \
|
|
$(DEP_LIBS_eagle.app.v6) \
|
|
-Wl,--end-group
|
|
|
|
DEPENDS_eagle.app.v6 = \
|
|
$(JERRY_LD_FILE) \
|
|
$(LDDIR)/eagle.rom.addr.v6.ld \
|
|
./include/jerry-targetjs.h \
|
|
./libs/libjerry-core.a \
|
|
./libs/libjerry-libm.a
|
|
|
|
|
|
#############################################################
|
|
# Configuration i.e. compile options etc.
|
|
# Target specific stuff (defines etc.) goes in here!
|
|
# Generally values applying to a tree are captured in the
|
|
# makefile at its root level - these are then overridden
|
|
# for a subtree within the makefile rooted therein
|
|
#
|
|
|
|
#UNIVERSAL_TARGET_DEFINES = \
|
|
|
|
# Other potential configuration flags include:
|
|
# -DTXRX_TXBUF_DEBUG
|
|
# -DTXRX_RXBUF_DEBUG
|
|
# -DWLAN_CONFIG_CCX
|
|
CONFIGURATION_DEFINES = -DICACHE_FLASH
|
|
|
|
DEFINES += \
|
|
$(UNIVERSAL_TARGET_DEFINES) \
|
|
$(CONFIGURATION_DEFINES)
|
|
|
|
DDEFINES += \
|
|
$(UNIVERSAL_TARGET_DEFINES) \
|
|
$(CONFIGURATION_DEFINES)
|
|
|
|
|
|
#############################################################
|
|
# Recursion Magic - Don't touch this!!
|
|
#
|
|
# Each subtree potentially has an include directory
|
|
# corresponding to the common APIs applicable to modules
|
|
# rooted at that subtree. Accordingly, the INCLUDE PATH
|
|
# of a module can only contain the include directories up
|
|
# its parent path, and not its siblings
|
|
#
|
|
# Required for each makefile to inherit from the parent
|
|
#
|
|
|
|
INCLUDES := -I $(JERRYDIR)/jerry-core/include
|
|
INCLUDES := $(INCLUDES) -I $(PDIR)include -I $(PDIR)source
|
|
sinclude $(SDK_PATH)/Makefile
|
|
|
|
.PHONY: FORCE
|
|
|
|
FORCE:
|