1#
2# Copyright (c) 2001, 2002 Swedish Institute of Computer Science.
3# All rights reserved. 
4# 
5# Redistribution and use in source and binary forms, with or without modification, 
6# are permitted provided that the following conditions are met:
7#
8# 1. Redistributions of source code must retain the above copyright notice,
9#    this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11#    this list of conditions and the following disclaimer in the documentation
12#    and/or other materials provided with the distribution.
13# 3. The name of the author may not be used to endorse or promote products
14#    derived from this software without specific prior written permission. 
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
17# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
18# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
19# SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
20# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
21# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
22# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
23# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
24# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
25# OF SUCH DAMAGE.
26#
27# This file is part of the lwIP TCP/IP stack.
28# 
29# Author: Adam Dunkels <adam@sics.se>
30#
31
32# COREFILES, CORE4FILES: The minimum set of files needed for lwIP.
33COREFILES=$(LWIPDIR)/core/init.c \
34	$(LWIPDIR)/core/def.c \
35	$(LWIPDIR)/core/dns.c \
36	$(LWIPDIR)/core/inet_chksum.c \
37	$(LWIPDIR)/core/ip.c \
38	$(LWIPDIR)/core/mem.c \
39	$(LWIPDIR)/core/memp.c \
40	$(LWIPDIR)/core/netif.c \
41	$(LWIPDIR)/core/pbuf.c \
42	$(LWIPDIR)/core/raw.c \
43	$(LWIPDIR)/core/stats.c \
44	$(LWIPDIR)/core/sys.c \
45	$(LWIPDIR)/core/altcp.c \
46	$(LWIPDIR)/core/altcp_alloc.c \
47	$(LWIPDIR)/core/altcp_tcp.c \
48	$(LWIPDIR)/core/tcp.c \
49	$(LWIPDIR)/core/tcp_in.c \
50	$(LWIPDIR)/core/tcp_out.c \
51	$(LWIPDIR)/core/timeouts.c \
52	$(LWIPDIR)/core/udp.c
53
54CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c \
55	$(LWIPDIR)/core/ipv4/dhcp.c \
56	$(LWIPDIR)/core/ipv4/etharp.c \
57	$(LWIPDIR)/core/ipv4/icmp.c \
58	$(LWIPDIR)/core/ipv4/igmp.c \
59	$(LWIPDIR)/core/ipv4/ip4_frag.c \
60	$(LWIPDIR)/core/ipv4/ip4.c \
61	$(LWIPDIR)/core/ipv4/ip4_addr.c
62
63CORE6FILES=$(LWIPDIR)/core/ipv6/dhcp6.c \
64	$(LWIPDIR)/core/ipv6/ethip6.c \
65	$(LWIPDIR)/core/ipv6/icmp6.c \
66	$(LWIPDIR)/core/ipv6/inet6.c \
67	$(LWIPDIR)/core/ipv6/ip6.c \
68	$(LWIPDIR)/core/ipv6/ip6_addr.c \
69	$(LWIPDIR)/core/ipv6/ip6_frag.c \
70	$(LWIPDIR)/core/ipv6/mld6.c \
71	$(LWIPDIR)/core/ipv6/nd6.c
72
73# APIFILES: The files which implement the sequential and socket APIs.
74APIFILES=$(LWIPDIR)/api/api_lib.c \
75	$(LWIPDIR)/api/api_msg.c \
76	$(LWIPDIR)/api/err.c \
77	$(LWIPDIR)/api/if_api.c \
78	$(LWIPDIR)/api/netbuf.c \
79	$(LWIPDIR)/api/netdb.c \
80	$(LWIPDIR)/api/netifapi.c \
81	$(LWIPDIR)/api/sockets.c \
82	$(LWIPDIR)/api/tcpip.c
83
84# NETIFFILES: Files implementing various generic network interface functions
85NETIFFILES=$(LWIPDIR)/netif/ethernet.c \
86	$(LWIPDIR)/netif/bridgeif.c \
87	$(LWIPDIR)/netif/bridgeif_fdb.c \
88	$(LWIPDIR)/netif/slipif.c
89
90# SIXLOWPAN: 6LoWPAN
91SIXLOWPAN=$(LWIPDIR)/netif/lowpan6_common.c \
92        $(LWIPDIR)/netif/lowpan6.c \
93	$(LWIPDIR)/netif/lowpan6_ble.c \
94	$(LWIPDIR)/netif/zepif.c
95
96# PPPFILES: PPP
97PPPFILES=$(LWIPDIR)/netif/ppp/auth.c \
98	$(LWIPDIR)/netif/ppp/ccp.c \
99	$(LWIPDIR)/netif/ppp/chap-md5.c \
100	$(LWIPDIR)/netif/ppp/chap_ms.c \
101	$(LWIPDIR)/netif/ppp/chap-new.c \
102	$(LWIPDIR)/netif/ppp/demand.c \
103	$(LWIPDIR)/netif/ppp/eap.c \
104	$(LWIPDIR)/netif/ppp/ecp.c \
105	$(LWIPDIR)/netif/ppp/eui64.c \
106	$(LWIPDIR)/netif/ppp/fsm.c \
107	$(LWIPDIR)/netif/ppp/ipcp.c \
108	$(LWIPDIR)/netif/ppp/ipv6cp.c \
109	$(LWIPDIR)/netif/ppp/lcp.c \
110	$(LWIPDIR)/netif/ppp/magic.c \
111	$(LWIPDIR)/netif/ppp/mppe.c \
112	$(LWIPDIR)/netif/ppp/multilink.c \
113	$(LWIPDIR)/netif/ppp/ppp.c \
114	$(LWIPDIR)/netif/ppp/pppapi.c \
115	$(LWIPDIR)/netif/ppp/pppcrypt.c \
116	$(LWIPDIR)/netif/ppp/pppoe.c \
117	$(LWIPDIR)/netif/ppp/pppol2tp.c \
118	$(LWIPDIR)/netif/ppp/pppos.c \
119	$(LWIPDIR)/netif/ppp/upap.c \
120	$(LWIPDIR)/netif/ppp/utils.c \
121	$(LWIPDIR)/netif/ppp/vj.c \
122	$(LWIPDIR)/netif/ppp/polarssl/arc4.c \
123	$(LWIPDIR)/netif/ppp/polarssl/des.c \
124	$(LWIPDIR)/netif/ppp/polarssl/md4.c \
125	$(LWIPDIR)/netif/ppp/polarssl/md5.c \
126	$(LWIPDIR)/netif/ppp/polarssl/sha1.c
127
128# LWIPNOAPPSFILES: All LWIP files without apps
129LWIPNOAPPSFILES=$(COREFILES) \
130	$(CORE4FILES) \
131	$(CORE6FILES) \
132	$(APIFILES) \
133	$(NETIFFILES) \
134	$(PPPFILES) \
135	$(SIXLOWPAN)
136
137# SNMPFILES: SNMPv2c agent
138SNMPFILES=$(LWIPDIR)/apps/snmp/snmp_asn1.c \
139	$(LWIPDIR)/apps/snmp/snmp_core.c \
140	$(LWIPDIR)/apps/snmp/snmp_mib2.c \
141	$(LWIPDIR)/apps/snmp/snmp_mib2_icmp.c \
142	$(LWIPDIR)/apps/snmp/snmp_mib2_interfaces.c \
143	$(LWIPDIR)/apps/snmp/snmp_mib2_ip.c \
144	$(LWIPDIR)/apps/snmp/snmp_mib2_snmp.c \
145	$(LWIPDIR)/apps/snmp/snmp_mib2_system.c \
146	$(LWIPDIR)/apps/snmp/snmp_mib2_tcp.c \
147	$(LWIPDIR)/apps/snmp/snmp_mib2_udp.c \
148	$(LWIPDIR)/apps/snmp/snmp_snmpv2_framework.c \
149	$(LWIPDIR)/apps/snmp/snmp_snmpv2_usm.c \
150	$(LWIPDIR)/apps/snmp/snmp_msg.c \
151	$(LWIPDIR)/apps/snmp/snmpv3.c \
152	$(LWIPDIR)/apps/snmp/snmp_netconn.c \
153	$(LWIPDIR)/apps/snmp/snmp_pbuf_stream.c \
154	$(LWIPDIR)/apps/snmp/snmp_raw.c \
155	$(LWIPDIR)/apps/snmp/snmp_scalar.c \
156	$(LWIPDIR)/apps/snmp/snmp_table.c \
157	$(LWIPDIR)/apps/snmp/snmp_threadsync.c \
158	$(LWIPDIR)/apps/snmp/snmp_traps.c
159
160# HTTPFILES: HTTP server + client
161HTTPFILES=$(LWIPDIR)/apps/http/altcp_proxyconnect.c \
162	$(LWIPDIR)/apps/http/fs.c \
163	$(LWIPDIR)/apps/http/http_client.c \
164	$(LWIPDIR)/apps/http/httpd.c
165
166# MAKEFSDATA: MAKEFSDATA HTTP server host utility
167MAKEFSDATAFILES=$(LWIPDIR)/apps/http/makefsdata/makefsdata.c
168
169# LWIPERFFILES: IPERF server
170LWIPERFFILES=$(LWIPDIR)/apps/lwiperf/lwiperf.c
171
172# SMTPFILES: SMTP client
173SMTPFILES=$(LWIPDIR)/apps/smtp/smtp.c
174
175# SNTPFILES: SNTP client
176SNTPFILES=$(LWIPDIR)/apps/sntp/sntp.c
177
178# MDNSFILES: MDNS responder
179MDNSFILES=$(LWIPDIR)/apps/mdns/mdns.c
180
181# NETBIOSNSFILES: NetBIOS name server
182NETBIOSNSFILES=$(LWIPDIR)/apps/netbiosns/netbiosns.c
183
184# TFTPFILES: TFTP server files
185TFTPFILES=$(LWIPDIR)/apps/tftp/tftp_server.c
186
187# MQTTFILES: MQTT client files
188MQTTFILES=$(LWIPDIR)/apps/mqtt/mqtt.c
189
190# MBEDTLS_FILES: MBEDTLS related files of lwIP rep
191MBEDTLS_FILES=$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls.c \
192	$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls_mem.c \
193	$(LWIPDIR)/apps/snmp/snmpv3_mbedtls.c
194
195# LWIPAPPFILES: All LWIP APPs
196LWIPAPPFILES=$(SNMPFILES) \
197	$(HTTPFILES) \
198	$(LWIPERFFILES) \
199	$(SMTPFILES) \
200	$(SNTPFILES) \
201	$(MDNSFILES) \
202	$(NETBIOSNSFILES) \
203	$(TFTPFILES) \
204	$(MQTTFILES) \
205	$(MBEDTLS_FILES)
206