1ifneq ($(GEN_SDK_LIB_NET),1)
2cur_dir := $(dir $(lastword $(MAKEFILE_LIST)))
3
4NET_LIB_NAME := libnet
5ifneq ($(SDK),1)
6ifneq ($(WIFI_RF_TEST),1)
7src_obj := core/ drv/ utils/ net80211/  security/
8endif
9src_obj += net_os/ wpa_supplicant_l/
10
11ifeq ($(NET_LWIP_SUPPORT),1)
12ifeq ($(NET_LWIP_ALIOS_LIB),1)
13#alios things need this file, pack into lib
14src_obj += lwip/src/netif/ethernetif.o
15else
16src_obj += lwip/
17endif
18endif
19
20ifeq ($(NET_MBEDTLS_SUPPORT),1)
21src_obj += mbedtls_client/
22endif
23
24ifeq ($(NET_NGHTTP2_SUPPORT),1)
25src_obj += nghttp2_client/
26endif
27
28ifeq ($(NET_FTP_CLIENT_SUPPORT),1)
29src_obj += ftp_client/
30endif
31
32$(NET_LIB_NAME)-y := $(src_obj)
33endif
34
35obj_c := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.c))
36obj_s := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.S))
37obj_cpp := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.cpp))
38obj-y := $(obj_c:.c=.o) $(obj_s:.S=.o) $(obj_cpp:.cpp=.o)
39obj-y += $(NET_LIB_NAME).a
40
41ifeq ($(NET_LIBRWS_SUPPORT),1)
42obj-y += librws/
43endif
44
45ifeq ($(NET_NGHTTP2_SUPPORT),1)
46obj-y += nghttp2/
47endif
48
49ifeq ($(NET_MBEDTLS_SUPPORT),1)
50obj-y += mbedtls/
51endif
52
53ifeq ($(NET_LIBCURL_SUPPORT),1)
54obj-y += libcurl/
55endif
56
57ifeq ($(NET_TINYCBOR_SUPPORT),1)
58src_obj += tinycbor/
59endif
60
61ifeq ($(NET_MQTT_SUPPORT),1)
62obj-y += mqtt/
63endif
64
65ifeq ($(NET_COAP_SUPPORT),1)
66obj-y += coap/
67endif
68
69ifeq ($(NET_JANSSON_SUPPORT),1)
70obj-y += jansson/
71endif
72
73ifeq ($(NET_CJSON_SUPPORT),1)
74obj-y += cJSON/
75endif
76
77ifeq ($(NET_JSONC_SUPPORT),1)
78obj-y += json-c/
79endif
80
81ifeq ($(NET_FTPD_SUPPORT),1)
82obj-y += ftpd/
83endif
84
85ifeq ($(NET_LWIP_SUPPORT)_$(NET_LWIP_ALIOS_LIB),1_1)
86obj-y += lwip/
87endif
88
89
90else
91
92
93cur_dir := $(dir $(lastword $(MAKEFILE_LIST)))
94
95LIB_NAME := libnet
96ifneq ($(SDK),1)
97ifneq ($(WIFI_RF_TEST),1)
98src_obj := core/ drv/ utils/ net80211/  security/
99endif
100src_obj += net_os/ wpa_supplicant_l/
101
102ifeq ($(NET_LWIP_SUPPORT),1)
103ifeq ($(NET_LWIP_ALIOS_LIB),1)
104#alios things need this file, pack into lib
105src_obj += lwip/src/netif/ethernetif.o
106else
107src_obj += lwip/
108endif
109endif
110
111ifeq ($(NET_MBEDTLS_SUPPORT),1)
112src_obj += mbedtls_client/
113endif
114
115ifeq ($(NET_NGHTTP2_SUPPORT),1)
116src_obj += nghttp2_client/
117endif
118
119obj_c := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.c))
120obj_s := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.S))
121obj_cpp := $(patsubst $(cur_dir)%,%,$(wildcard $(cur_dir)*.cpp))
122src_obj += $(obj_c:.c=.o) $(obj_s:.S=.o) $(obj_cpp:.cpp=.o)
123
124ifeq ($(NET_LIBRWS_SUPPORT),1)
125src_obj += librws/
126endif
127
128ifeq ($(NET_NGHTTP2_SUPPORT),1)
129src_obj += nghttp2/
130endif
131
132ifeq ($(NET_MBEDTLS_SUPPORT),1)
133src_obj += mbedtls/
134endif
135
136ifeq ($(NET_LIBCURL_SUPPORT),1)
137src_obj += libcurl/
138endif
139
140ifeq ($(NET_TINYCBOR_SUPPORT),1)
141src_obj += tinycbor/
142endif
143
144ifeq ($(NET_MQTT_SUPPORT),1)
145src_obj += mqtt/
146endif
147
148ifeq ($(NET_COAP_SUPPORT),1)
149src_obj += coap/
150endif
151
152ifeq ($(NET_JANSSON_SUPPORT),1)
153src_obj += jansson/
154endif
155
156ifeq ($(NET_CJSON_SUPPORT),1)
157src_obj += cJSON/
158endif
159
160ifeq ($(NET_JSONC_SUPPORT),1)
161src_obj += json-c/
162endif
163
164ifeq ($(NET_FTPD_SUPPORT),1)
165src_obj += ftpd/
166endif
167
168# src_obj += json-c_wrap/
169# only used for BEST2001 METAL_ID_0
170
171ifeq ($(NET_FTP_CLIENT_SUPPORT),1)
172src_obj += ftp_client/
173endif
174
175$(LIB_NAME)-y := $(src_obj)
176endif
177
178obj-y :=
179
180ifeq ($(NET_LWIP_SUPPORT)_$(NET_LWIP_ALIOS_LIB),1_1)
181LIB_NAME_LWIP := libnetlwip
182ifneq ($(SDK),1)
183src_obj := lwip/
184$(LIB_NAME_LWIP)-y := $(src_obj)
185endif
186obj-y += $(LIB_NAME_LWIP).a
187endif
188
189obj-y += $(LIB_NAME).a
190endif
191
192ccflags-y := -Iplatform/hal -Iplatform/cmsis -Iplatform/cmsis/inc -Inet/include/  -Inet/include/byteorder  -Inet/include/os  -Inet/include/unaligned
193ccflags-y += -Inet/net80211 -Inet/core -Inet/utils -Inet/net_os -Inet/drv/cw1260 -Inet/drv/drv_os -Inet/security -Inet/wpa_supplicant_l
194ccflags-y += -Iplatform/drivers/wifi/
195ccflags-y += -Iservices/wifi_app/dhcpd/
196ifeq ($(APP_ALEXA_SUPPORT),1)
197ccflags-y += -Inet/mbedtls/library/ \
198			 -Inet/nghttp2/library/ \
199			 -Inet/nghttp2/library/includes/
200endif
201
202ccflags-y += -Inet/libcurl/library/
203
204subdir-ccflags-y +=\
205			-Inet/\
206			-Inet/include/os/\
207			-Inet/lwip/src/include/ \
208			-Inet/lwip/src/include/compat/posix/ \
209			-Inet/coap/libcoap/include/coap2/ \
210			-Inet/coap/port/include/ \
211			-Iservices/bt_profiles_enhanced/inc/\
212			-Iservices/nvrecord/\
213			-Iservices/sys_time/ \
214			-Iservices/wifi_app/airkiss/ \
215			-Iplatform/drivers/wifi/$(CHIP) \
216			-Iutils/heap/ \
217			-Iapps/alios/genie/include
218ifeq ($(APP_ALEXA_SUPPORT),1)
219subdir-ccflags-y += -Inet/mbedtls/library/ \
220			 -Inet/nghttp2/library/ \
221			 -Inet/nghttp2/library/includes/
222endif
223subdir-ccflags-y += -Inet/libcurl/library/
224
225ifeq ($(ALIOS_APP_SUPPORT),1)
226ccflags-y += -Iapps/alios/genie/include/
227endif
228
229ifneq ($(SKB_SRAM), )
230subdir-ccflags-y += -DSKB_SRAM=$(SKB_SRAM)
231endif
232
233subdir-ccflags-y += -DCW1260_DETECTION_LOGIC
234subdir-ccflags-y += -DP2P_MULTIVIF
235#subdir-ccflags-y += -DCUSTOM_FEATURE
236subdir-ccflags-y += -DMCAST_FWDING
237subdir-ccflags-y += -DCW1200_SUSPEND_RESUME_FILTER_ENABLE
238subdir-ccflags-y += -DAP_AGGREGATE_FW_FIX
239subdir-ccflags-y += -DAP_HT_CAP_UPDATE
240subdir-ccflags-y += -DCONFIG_CW1200_USE_STE_EXTENSIONS
241#subdir-ccflags-y += -DCONFIG_CW1200_5GHZ_SUPPORT
242
243ifeq ($(ALSA_RESAMPLE_USER_HOOK_EN),1)
244ccflags-y += -Iservices/wifi_app/alsa_adapter/
245ccflags-y += -DALSA_RESAMPLE_USER_HOOK_EN
246endif
247
248