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/acd.c \
55	$(LWIPDIR)/core/ipv4/autoip.c \
56	$(LWIPDIR)/core/ipv4/dhcp.c \
57	$(LWIPDIR)/core/ipv4/etharp.c \
58	$(LWIPDIR)/core/ipv4/icmp.c \
59	$(LWIPDIR)/core/ipv4/igmp.c \
60	$(LWIPDIR)/core/ipv4/ip4_frag.c \
61	$(LWIPDIR)/core/ipv4/ip4.c \
62	$(LWIPDIR)/core/ipv4/ip4_addr.c
63
64CORE6FILES=$(LWIPDIR)/core/ipv6/dhcp6.c \
65	$(LWIPDIR)/core/ipv6/ethip6.c \
66	$(LWIPDIR)/core/ipv6/icmp6.c \
67	$(LWIPDIR)/core/ipv6/inet6.c \
68	$(LWIPDIR)/core/ipv6/ip6.c \
69	$(LWIPDIR)/core/ipv6/ip6_addr.c \
70	$(LWIPDIR)/core/ipv6/ip6_frag.c \
71	$(LWIPDIR)/core/ipv6/mld6.c \
72	$(LWIPDIR)/core/ipv6/nd6.c
73
74# APIFILES: The files which implement the sequential and socket APIs.
75APIFILES=$(LWIPDIR)/api/api_lib.c \
76	$(LWIPDIR)/api/api_msg.c \
77	$(LWIPDIR)/api/err.c \
78	$(LWIPDIR)/api/if_api.c \
79	$(LWIPDIR)/api/netbuf.c \
80	$(LWIPDIR)/api/netdb.c \
81	$(LWIPDIR)/api/netifapi.c \
82	$(LWIPDIR)/api/sockets.c \
83	$(LWIPDIR)/api/tcpip.c
84
85# NETIFFILES: Files implementing various generic network interface functions
86NETIFFILES=$(LWIPDIR)/netif/ethernet.c \
87	$(LWIPDIR)/netif/bridgeif.c \
88	$(LWIPDIR)/netif/bridgeif_fdb.c \
89	$(LWIPDIR)/netif/slipif.c
90
91# SIXLOWPAN: 6LoWPAN
92SIXLOWPAN=$(LWIPDIR)/netif/lowpan6_common.c \
93        $(LWIPDIR)/netif/lowpan6.c \
94	$(LWIPDIR)/netif/lowpan6_ble.c \
95	$(LWIPDIR)/netif/zepif.c
96
97# PPPFILES: PPP
98PPPFILES=$(LWIPDIR)/netif/ppp/auth.c \
99	$(LWIPDIR)/netif/ppp/ccp.c \
100	$(LWIPDIR)/netif/ppp/chap-md5.c \
101	$(LWIPDIR)/netif/ppp/chap_ms.c \
102	$(LWIPDIR)/netif/ppp/chap-new.c \
103	$(LWIPDIR)/netif/ppp/demand.c \
104	$(LWIPDIR)/netif/ppp/eap.c \
105	$(LWIPDIR)/netif/ppp/ecp.c \
106	$(LWIPDIR)/netif/ppp/eui64.c \
107	$(LWIPDIR)/netif/ppp/fsm.c \
108	$(LWIPDIR)/netif/ppp/ipcp.c \
109	$(LWIPDIR)/netif/ppp/ipv6cp.c \
110	$(LWIPDIR)/netif/ppp/lcp.c \
111	$(LWIPDIR)/netif/ppp/magic.c \
112	$(LWIPDIR)/netif/ppp/mppe.c \
113	$(LWIPDIR)/netif/ppp/multilink.c \
114	$(LWIPDIR)/netif/ppp/ppp.c \
115	$(LWIPDIR)/netif/ppp/pppapi.c \
116	$(LWIPDIR)/netif/ppp/pppcrypt.c \
117	$(LWIPDIR)/netif/ppp/pppoe.c \
118	$(LWIPDIR)/netif/ppp/pppol2tp.c \
119	$(LWIPDIR)/netif/ppp/pppos.c \
120	$(LWIPDIR)/netif/ppp/upap.c \
121	$(LWIPDIR)/netif/ppp/utils.c \
122	$(LWIPDIR)/netif/ppp/vj.c \
123	$(LWIPDIR)/netif/ppp/polarssl/arc4.c \
124	$(LWIPDIR)/netif/ppp/polarssl/des.c \
125	$(LWIPDIR)/netif/ppp/polarssl/md4.c \
126	$(LWIPDIR)/netif/ppp/polarssl/md5.c \
127	$(LWIPDIR)/netif/ppp/polarssl/sha1.c
128
129# LWIPNOAPPSFILES: All LWIP files without apps
130LWIPNOAPPSFILES=$(COREFILES) \
131	$(CORE4FILES) \
132	$(CORE6FILES) \
133	$(APIFILES) \
134	$(NETIFFILES) \
135	$(PPPFILES) \
136	$(SIXLOWPAN)
137
138# SNMPFILES: SNMPv2c agent
139SNMPFILES=$(LWIPDIR)/apps/snmp/snmp_asn1.c \
140	$(LWIPDIR)/apps/snmp/snmp_core.c \
141	$(LWIPDIR)/apps/snmp/snmp_mib2.c \
142	$(LWIPDIR)/apps/snmp/snmp_mib2_icmp.c \
143	$(LWIPDIR)/apps/snmp/snmp_mib2_interfaces.c \
144	$(LWIPDIR)/apps/snmp/snmp_mib2_ip.c \
145	$(LWIPDIR)/apps/snmp/snmp_mib2_snmp.c \
146	$(LWIPDIR)/apps/snmp/snmp_mib2_system.c \
147	$(LWIPDIR)/apps/snmp/snmp_mib2_tcp.c \
148	$(LWIPDIR)/apps/snmp/snmp_mib2_udp.c \
149	$(LWIPDIR)/apps/snmp/snmp_snmpv2_framework.c \
150	$(LWIPDIR)/apps/snmp/snmp_snmpv2_usm.c \
151	$(LWIPDIR)/apps/snmp/snmp_msg.c \
152	$(LWIPDIR)/apps/snmp/snmpv3.c \
153	$(LWIPDIR)/apps/snmp/snmp_netconn.c \
154	$(LWIPDIR)/apps/snmp/snmp_pbuf_stream.c \
155	$(LWIPDIR)/apps/snmp/snmp_raw.c \
156	$(LWIPDIR)/apps/snmp/snmp_scalar.c \
157	$(LWIPDIR)/apps/snmp/snmp_table.c \
158	$(LWIPDIR)/apps/snmp/snmp_threadsync.c \
159	$(LWIPDIR)/apps/snmp/snmp_traps.c
160
161# HTTPFILES: HTTP server + client
162HTTPFILES=$(LWIPDIR)/apps/http/altcp_proxyconnect.c \
163	$(LWIPDIR)/apps/http/fs.c \
164	$(LWIPDIR)/apps/http/http_client.c \
165	$(LWIPDIR)/apps/http/httpd.c
166
167# MAKEFSDATA: MAKEFSDATA HTTP server host utility
168MAKEFSDATAFILES=$(LWIPDIR)/apps/http/makefsdata/makefsdata.c
169
170# LWIPERFFILES: IPERF server
171LWIPERFFILES=$(LWIPDIR)/apps/lwiperf/lwiperf.c
172
173# SMTPFILES: SMTP client
174SMTPFILES=$(LWIPDIR)/apps/smtp/smtp.c
175
176# SNTPFILES: SNTP client
177SNTPFILES=$(LWIPDIR)/apps/sntp/sntp.c
178
179# MDNSFILES: MDNS responder
180MDNSFILES=$(LWIPDIR)/apps/mdns/mdns.c \
181	$(LWIPDIR)/apps/mdns/mdns_out.c \
182	$(LWIPDIR)/apps/mdns/mdns_domain.c
183
184# NETBIOSNSFILES: NetBIOS name server
185NETBIOSNSFILES=$(LWIPDIR)/apps/netbiosns/netbiosns.c
186
187# TFTPFILES: TFTP client/server files
188TFTPFILES=$(LWIPDIR)/apps/tftp/tftp.c
189
190# MQTTFILES: MQTT client files
191MQTTFILES=$(LWIPDIR)/apps/mqtt/mqtt.c
192
193# MBEDTLS_FILES: MBEDTLS related files of lwIP rep
194MBEDTLS_FILES=$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls.c \
195	$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls_mem.c \
196	$(LWIPDIR)/apps/snmp/snmpv3_mbedtls.c
197
198# LWIPAPPFILES: All LWIP APPs
199LWIPAPPFILES=$(SNMPFILES) \
200	$(HTTPFILES) \
201	$(LWIPERFFILES) \
202	$(SMTPFILES) \
203	$(SNTPFILES) \
204	$(MDNSFILES) \
205	$(NETBIOSNSFILES) \
206	$(TFTPFILES) \
207	$(MQTTFILES) \
208	$(MBEDTLS_FILES)
209