-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
173 lines (136 loc) · 3.63 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#############################################################
# 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 ()
#
SDK_PATH ?= c:/Espressif/ESP8266_RTOS_SDK
sinclude $(SDK_PATH)/settings.mk
BOOT = new
APP = 1
SPI_SPEED = 40
SPI_MODE = DIO
SPI_SIZE_MAP = 4
ESPPORT = COM8
ESPBAUD = 115200
TARGET = eagle
#FLAVOR = release
FLAVOR = debug
SUBDIRS1111= \
user \
driver \
mqtt
COMPONENTS_eagle.app.v6 = \
user/libuser.a \
driver/libdriver.a \
mqtt/libmqtt.a
#EXTRA_CCFLAGS += -u
ifndef PDIR # {
GEN_IMAGES= eagle.app.v6.out
GEN_BINS= eagle.app.v6.bin
SPECIAL_MKTARGETS=$(APP_MKTARGETS)
SUBDIRS= $(SUBDIRS1111)
endif # } PDIR
LDDIR = $(SDK_PATH)/ld
ifeq ($(FLAVOR),debug)
CCFLAGS += -Og
endif
ifeq ($(FLAVOR),release)
CCFLAGS += -Os
endif
TARGET_LDFLAGS = \
-nostdlib \
-Wl,-EL \
--longcalls \
--text-section-literals \
-ggdb
ifeq ($(FLAVOR),debug)
TARGET_LDFLAGS += -g -O2
endif
ifeq ($(FLAVOR),release)
TARGET_LDFLAGS += -g -O0
endif
dummy: all
libesphttpd/libesphttpd.a: libesphttpd/Makefile
make -C libesphttpd libesphttpd.a
libesphttpd/libwebpages-espfs.a: libesphttpd/Makefile
make -C libesphttpd libwebpages-espfs.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 \
-lphy \
-lpp \
-lnet80211 \
-lcrypto \
-lwpa \
-lmain \
-lfreertos \
-llwip \
-lssl \
-ljson \
-lsmartconfig \
-lpwm \
-L./libesphttpd \
-lesphttpd \
-lwebpages-espfs \
$(DEP_LIBS_eagle.app.v6) \
-Wl,--end-group
# -lcirom \
-lmirom \
DEPENDS_eagle.app.v6 = \
$(LD_FILE) \
$(LDDIR)/eagle.rom.addr.v6.ld\
libesphttpd/libesphttpd.a \
libesphttpd/libwebpages-espfs.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 := $(INCLUDES) -I $(PDIR)include -I $(PDIR)include/driver -I $(PDIR)include/mqtt -I $(PDIR)include/ssl -I $(PDIR)libesphttpd/include -I $(PDIR)libesphttpd/espfs
#sinclude $(SDK_PATH)/Makefile
sinclude $(SDK_PATH)/forWindows.mk
.PHONY: FORCE
FORCE: