2018-11-23 01:43:17 +00:00
|
|
|
#############################################################
|
|
|
|
# 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 ()
|
|
|
|
#
|
|
|
|
|
|
|
|
export SDK_PATH ?= $(PWD)/ESP8266_RTOS_SDK
|
|
|
|
export BIN_PATH ?= $(PWD)/bin
|
|
|
|
export BOOT ?= new
|
|
|
|
export APP ?= 1
|
|
|
|
export SPI_SIZE_MAP ?= 5
|
|
|
|
export SPI_SPEED ?= 40
|
|
|
|
export SPI_MODE=QIO
|
2019-01-29 09:15:45 +00:00
|
|
|
GIT_TAG:=$(shell git describe --tags --always --dirty="-dev")
|
2018-11-23 01:43:17 +00:00
|
|
|
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 \
|
|
|
|
mqtt \
|
|
|
|
driver \
|
|
|
|
soft_ap \
|
|
|
|
fota \
|
|
|
|
protocol \
|
|
|
|
jsprase \
|
|
|
|
configure \
|
|
|
|
netease
|
|
|
|
|
|
|
|
endif # } PDIR
|
|
|
|
|
|
|
|
LDDIR = $(SDK_PATH)/ld
|
|
|
|
|
2019-01-29 09:15:45 +00:00
|
|
|
CCFLAGS += -Os -DCURRENT_VERSION=\"$(GIT_TAG)\"
|
2018-11-23 01:43:17 +00:00
|
|
|
|
|
|
|
TARGET_LDFLAGS = \
|
|
|
|
-nostdlib \
|
|
|
|
-Wl,-EL \
|
|
|
|
--longcalls \
|
|
|
|
--text-section-literals
|
|
|
|
|
|
|
|
ifeq ($(FLAVOR),debug)
|
|
|
|
TARGET_LDFLAGS += -g -O2
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(FLAVOR),release)
|
|
|
|
TARGET_LDFLAGS += -g -O0
|
|
|
|
endif
|
|
|
|
|
|
|
|
COMPONENTS_eagle.app.v6 = \
|
|
|
|
user/libuser.a \
|
|
|
|
mqtt/libmqtt.a \
|
|
|
|
driver/libdriver.a \
|
|
|
|
soft_ap/libsoftap.a \
|
|
|
|
fota/libfota.a \
|
|
|
|
protocol/libpro.a \
|
|
|
|
jsprase/libjsprase.a \
|
|
|
|
configure/libcfg.a \
|
|
|
|
netease/libnetease.a \
|
|
|
|
netease/IoT/libIoT.a
|
|
|
|
|
|
|
|
LINKFLAGS_eagle.app.v6 = \
|
|
|
|
-L$(SDK_PATH)/lib \
|
|
|
|
-Wl,--gc-sections \
|
|
|
|
-nostdlib \
|
|
|
|
-T$(LD_FILE) \
|
|
|
|
-Wl,--no-check-sections \
|
|
|
|
-u call_user_start \
|
|
|
|
-Wl,-static \
|
|
|
|
-Wl,--start-group \
|
|
|
|
-lcirom \
|
|
|
|
-lmirom \
|
|
|
|
-lgcc \
|
|
|
|
-lhal \
|
|
|
|
-lcrypto \
|
|
|
|
-lfreertos \
|
|
|
|
-llwip \
|
|
|
|
-lmain \
|
|
|
|
-lnet80211 \
|
|
|
|
-lphy \
|
|
|
|
-ljson \
|
|
|
|
-lpp \
|
|
|
|
-lmbedtls \
|
|
|
|
-lopenssl \
|
|
|
|
-lmqtt \
|
|
|
|
-lwpa \
|
|
|
|
$(DEP_LIBS_eagle.app.v6)\
|
|
|
|
-Wl,--end-group
|
|
|
|
|
|
|
|
DEPENDS_eagle.app.v6 = \
|
|
|
|
$(LD_FILE) \
|
|
|
|
$(LDDIR)/eagle.rom.addr.v6.ld
|
|
|
|
|
|
|
|
#############################################################
|
|
|
|
# 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
|
|
|
|
# -DMQTT_TASK: Define MQTT_TASK to enable MQTT start background
|
|
|
|
# thread for a client.
|
|
|
|
CONFIGURATION_DEFINES = -DICACHE_FLASH -DMQTT_TASK
|
|
|
|
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DFORCE_SSL_VERIFY \
|
|
|
|
-DUSING_UTILS_JSON \
|
|
|
|
-DLITE_THING_MODEL \
|
|
|
|
-DUSING_SHA1_IN_HMAC \
|
|
|
|
-DIOTX_WITHOUT_ITLS \
|
|
|
|
-DIOTX_NET_INIT_WITH_PK_EXT \
|
|
|
|
-DCMP_SUPPORT_TOPIC_DISPATCH \
|
|
|
|
-DCMP_VIA_MQTT_DIRECT \
|
|
|
|
#-DIOTX_WITHOUT_TLS \
|
|
|
|
-DIOTX_WITHOUT_ITLS
|
|
|
|
|
|
|
|
FEATURE_MQTT_COMM_ENABLED = 1
|
|
|
|
FEATURE_MQTT_DIRECT = 1
|
|
|
|
FEATURE_MQTT_DIRECT_NOTLS = 0
|
|
|
|
FEATURE_MQTT_DIRECT_NOITLS = 1
|
|
|
|
FEATURE_COAP_COMM_ENABLED = 0
|
|
|
|
FEATURE_HTTP_COMM_ENABLED = 1
|
|
|
|
FEATURE_SUBDEVICE_ENABLED = 0
|
|
|
|
FEATURE_CMP_ENABLED = 1
|
|
|
|
FEATURE_DM_ENABLED = 1
|
|
|
|
FEATURE_SERVICE_OTA_ENABLED = 0
|
|
|
|
FEATURE_SUPPORT_PRODUCT_SECRET = 1
|
|
|
|
|
|
|
|
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-D OTA_SIGNAL_CHANNEL=1 \
|
|
|
|
-D MQTT_SERVER_ESPRESSIF=0 \
|
|
|
|
-D MQTT_SERVER_ALIBABA=1 \
|
|
|
|
-D MQTT_SERVER_NETEASE=2
|
|
|
|
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-D MQTT_SERVER=2
|
|
|
|
|
|
|
|
#ifeq ($(FEATURE_MQTT_DIRECT), 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DMQTT_DIRECT
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifeq (FEATURE_MQTT_COMM_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DMQTT_COMM_ENABLED
|
|
|
|
#endif
|
|
|
|
|
|
|
|
ifeq (FEATURE_SUBDEVICE_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DSUBDEVICE_ENABLED
|
|
|
|
endif
|
|
|
|
|
|
|
|
#ifeq (FEATURE_CMP_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DCMP_ENABLED
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifeq (FEATURE_DM_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DDM_ENABLED \
|
|
|
|
-DDEVICEINFO_ENABLED
|
|
|
|
#endif
|
|
|
|
|
|
|
|
ifeq (FEATURE_SERVICE_OTA_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DSERVICE_OTA_ENABLED
|
|
|
|
ifeq (FEATURE_SERVICE_COTA_ENABLED, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DSERVICE_COTA_ENABLED
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
#ifeq (FEATURE_SUPPORT_PRODUCT_SECRET, 1)
|
|
|
|
CONFIGURATION_DEFINES += \
|
|
|
|
-DSUPPORT_PRODUCT_SECRET
|
|
|
|
#endif
|
|
|
|
|
|
|
|
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 := $(INCLUDES) -I $(PDIR)include -I include
|
|
|
|
INCLUDES += -I $(SDK_PATH)/include/openssl
|
|
|
|
INCLUDES += -I $(SDK_PATH)/include/lwip
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/utils/misc
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/LITE-utils
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/sdk-impl
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/sdk-impl/exports
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/sdk-impl/imports
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/utils/digest
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT/utils/misc
|
|
|
|
INCLUDES += -I $(PDIR)netease/IoT
|
|
|
|
|
|
|
|
sinclude $(SDK_PATH)/Makefile
|
|
|
|
|
|
|
|
.PHONY: FORCE
|
|
|
|
FORCE:
|
|
|
|
|