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/tcp.c \
46	$(LWIPDIR)/core/tcp_in.c \
47	$(LWIPDIR)/core/tcp_out.c \
48	$(LWIPDIR)/core/timeouts.c \
49	$(LWIPDIR)/core/udp.c
50
51CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c \
52	$(LWIPDIR)/core/ipv4/dhcp.c \
53	$(LWIPDIR)/core/ipv4/etharp.c \
54	$(LWIPDIR)/core/ipv4/icmp.c \
55	$(LWIPDIR)/core/ipv4/igmp.c \
56	$(LWIPDIR)/core/ipv4/ip4_frag.c \
57	$(LWIPDIR)/core/ipv4/ip4.c \
58	$(LWIPDIR)/core/ipv4/ip4_addr.c
59
60CORE6FILES=$(LWIPDIR)/core/ipv6/dhcp6.c \
61	$(LWIPDIR)/core/ipv6/ethip6.c \
62	$(LWIPDIR)/core/ipv6/icmp6.c \
63	$(LWIPDIR)/core/ipv6/inet6.c \
64	$(LWIPDIR)/core/ipv6/ip6.c \
65	$(LWIPDIR)/core/ipv6/ip6_addr.c \
66	$(LWIPDIR)/core/ipv6/ip6_frag.c \
67	$(LWIPDIR)/core/ipv6/mld6.c \
68	$(LWIPDIR)/core/ipv6/nd6.c
69
70# APIFILES: The files which implement the sequential and socket APIs.
71APIFILES=$(LWIPDIR)/api/api_lib.c \
72	$(LWIPDIR)/api/api_msg.c \
73	$(LWIPDIR)/api/err.c \
74	$(LWIPDIR)/api/netbuf.c \
75	$(LWIPDIR)/api/netdb.c \
76	$(LWIPDIR)/api/netifapi.c \
77	$(LWIPDIR)/api/sockets.c \
78	$(LWIPDIR)/api/tcpip.c
79
80# NETIFFILES: Files implementing various generic network interface functions
81NETIFFILES=$(LWIPDIR)/netif/ethernet.c \
82	$(LWIPDIR)/netif/slipif.c
83
84# SIXLOWPAN: 6LoWPAN
85SIXLOWPAN=$(LWIPDIR)/netif/lowpan6.c \
86
87# PPPFILES: PPP
88PPPFILES=$(LWIPDIR)/netif/ppp/auth.c \
89	$(LWIPDIR)/netif/ppp/ccp.c \
90	$(LWIPDIR)/netif/ppp/chap-md5.c \
91	$(LWIPDIR)/netif/ppp/chap_ms.c \
92	$(LWIPDIR)/netif/ppp/chap-new.c \
93	$(LWIPDIR)/netif/ppp/demand.c \
94	$(LWIPDIR)/netif/ppp/eap.c \
95	$(LWIPDIR)/netif/ppp/ecp.c \
96	$(LWIPDIR)/netif/ppp/eui64.c \
97	$(LWIPDIR)/netif/ppp/fsm.c \
98	$(LWIPDIR)/netif/ppp/ipcp.c \
99	$(LWIPDIR)/netif/ppp/ipv6cp.c \
100	$(LWIPDIR)/netif/ppp/lcp.c \
101	$(LWIPDIR)/netif/ppp/magic.c \
102	$(LWIPDIR)/netif/ppp/mppe.c \
103	$(LWIPDIR)/netif/ppp/multilink.c \
104	$(LWIPDIR)/netif/ppp/ppp.c \
105	$(LWIPDIR)/netif/ppp/pppapi.c \
106	$(LWIPDIR)/netif/ppp/pppcrypt.c \
107	$(LWIPDIR)/netif/ppp/pppoe.c \
108	$(LWIPDIR)/netif/ppp/pppol2tp.c \
109	$(LWIPDIR)/netif/ppp/pppos.c \
110	$(LWIPDIR)/netif/ppp/upap.c \
111	$(LWIPDIR)/netif/ppp/utils.c \
112	$(LWIPDIR)/netif/ppp/vj.c \
113	$(LWIPDIR)/netif/ppp/polarssl/arc4.c \
114	$(LWIPDIR)/netif/ppp/polarssl/des.c \
115	$(LWIPDIR)/netif/ppp/polarssl/md4.c \
116	$(LWIPDIR)/netif/ppp/polarssl/md5.c \
117	$(LWIPDIR)/netif/ppp/polarssl/sha1.c
118
119# LWIPNOAPPSFILES: All LWIP files without apps
120LWIPNOAPPSFILES=$(COREFILES) \
121	$(CORE4FILES) \
122	$(CORE6FILES) \
123	$(APIFILES) \
124	$(NETIFFILES) \
125	$(PPPFILES) \
126	$(SIXLOWPAN)
127
128# SNMPFILES: SNMPv2c agent
129SNMPFILES=$(LWIPDIR)/apps/snmp/snmp_asn1.c \
130	$(LWIPDIR)/apps/snmp/snmp_core.c \
131	$(LWIPDIR)/apps/snmp/snmp_mib2.c \
132	$(LWIPDIR)/apps/snmp/snmp_mib2_icmp.c \
133	$(LWIPDIR)/apps/snmp/snmp_mib2_interfaces.c \
134	$(LWIPDIR)/apps/snmp/snmp_mib2_ip.c \
135	$(LWIPDIR)/apps/snmp/snmp_mib2_snmp.c \
136	$(LWIPDIR)/apps/snmp/snmp_mib2_system.c \
137	$(LWIPDIR)/apps/snmp/snmp_mib2_tcp.c \
138	$(LWIPDIR)/apps/snmp/snmp_mib2_udp.c \
139	$(LWIPDIR)/apps/snmp/snmp_msg.c \
140	$(LWIPDIR)/apps/snmp/snmpv3.c \
141	$(LWIPDIR)/apps/snmp/snmp_netconn.c \
142	$(LWIPDIR)/apps/snmp/snmp_pbuf_stream.c \
143	$(LWIPDIR)/apps/snmp/snmp_raw.c \
144	$(LWIPDIR)/apps/snmp/snmp_scalar.c \
145	$(LWIPDIR)/apps/snmp/snmp_table.c \
146	$(LWIPDIR)/apps/snmp/snmp_threadsync.c \
147	$(LWIPDIR)/apps/snmp/snmp_traps.c \
148	$(LWIPDIR)/apps/snmp/snmpv3_mbedtls.c \
149	$(LWIPDIR)/apps/snmp/snmpv3_dummy.c
150
151# HTTPDFILES: HTTP server
152HTTPDFILES=$(LWIPDIR)/apps/httpd/fs.c \
153	$(LWIPDIR)/apps/httpd/httpd.c
154
155# LWIPERFFILES: IPERF server
156LWIPERFFILES=$(LWIPDIR)/apps/lwiperf/lwiperf.c
157
158# SNTPFILES: SNTP client
159SNTPFILES=$(LWIPDIR)/apps/sntp/sntp.c
160
161# MDNSFILES: MDNS responder
162MDNSFILES=$(LWIPDIR)/apps/mdns/mdns.c
163
164# NETBIOSNSFILES: NetBIOS name server
165NETBIOSNSFILES=$(LWIPDIR)/apps/netbiosns/netbiosns.c
166
167# TFTPFILES: TFTP server files
168TFTPFILES=$(LWIPDIR)/apps/tftp/tftp_server.c
169
170# MQTTFILES: MQTT client files
171MQTTFILES=$(LWIPDIR)/apps/mqtt/mqtt.c
172
173# LWIPAPPFILES: All LWIP APPs
174LWIPAPPFILES=$(SNMPFILES) \
175	$(HTTPDFILES) \
176	$(LWIPERFFILES) \
177	$(SNTPFILES) \
178	$(MDNSFILES) \
179	$(NETBIOSNSFILES) \
180	$(TFTPFILES) \
181	$(MQTTFILES)
182