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=core/init.c \
34	core/def.c \
35	core/dns.c \
36	core/inet_chksum.c \
37	core/ip.c \
38	core/mem.c \
39	core/memp.c \
40	core/netif.c \
41	core/pbuf.c \
42	core/raw.c \
43	core/stats.c \
44	core/sys.c \
45	core/tcp.c \
46	core/tcp_in.c \
47	core/tcp_out.c \
48	core/timeouts.c \
49	core/udp.c \
50	core/pkt_print.c
51
52CORE4FILES=core/ipv4/autoip.c \
53	core/ipv4/dhcp.c \
54	core/ipv4/etharp.c \
55	core/ipv4/icmp.c \
56	core/ipv4/igmp.c \
57	core/ipv4/ip4_frag.c \
58	core/ipv4/ip4.c \
59	core/ipv4/ip4_addr.c
60
61CORE6FILES=core/ipv6/dhcp6.c \
62	core/ipv6/ethip6.c \
63	core/ipv6/icmp6.c \
64	core/ipv6/inet6.c \
65	core/ipv6/ip6.c \
66	core/ipv6/ip6_addr.c \
67	core/ipv6/ip6_frag.c \
68	core/ipv6/mld6.c \
69	core/ipv6/nd6.c
70
71# APIFILES: The files which implement the sequential and socket APIs.
72APIFILES=api/api_lib.c \
73	api/api_msg.c \
74	api/err.c \
75	api/netbuf.c \
76	api/netdb.c \
77	api/netifapi.c \
78	api/sockets.c \
79	api/tcpip.c
80
81# NETIFFILES: Files implementing various generic network interface functions
82NETIFFILES=netif/ethernet.c \
83	netif/slipif.c
84
85# SIXLOWPAN: 6LoWPAN
86SIXLOWPAN=netif/lowpan6.c \
87
88# PPPFILES: PPP
89PPPFILES=netif/ppp/auth.c \
90	netif/ppp/ccp.c \
91	netif/ppp/chap-md5.c \
92	netif/ppp/chap_ms.c \
93	netif/ppp/chap-new.c \
94	netif/ppp/demand.c \
95	netif/ppp/eap.c \
96	netif/ppp/ecp.c \
97	netif/ppp/eui64.c \
98	netif/ppp/fsm.c \
99	netif/ppp/ipcp.c \
100	netif/ppp/ipv6cp.c \
101	netif/ppp/lcp.c \
102	netif/ppp/magic.c \
103	netif/ppp/mppe.c \
104	netif/ppp/multilink.c \
105	netif/ppp/ppp.c \
106	netif/ppp/pppapi.c \
107	netif/ppp/pppcrypt.c \
108	netif/ppp/pppoe.c \
109	netif/ppp/pppol2tp.c \
110	netif/ppp/pppos.c \
111	netif/ppp/upap.c \
112	netif/ppp/utils.c \
113	netif/ppp/vj.c \
114	netif/ppp/polarssl/arc4.c \
115	netif/ppp/polarssl/des.c \
116	netif/ppp/polarssl/md4.c \
117	netif/ppp/polarssl/md5.c \
118	netif/ppp/polarssl/sha1.c
119
120# LWIPNOAPPSFILES: All LWIP files without apps
121LWIPNOAPPSFILES=$(COREFILES) \
122	$(CORE4FILES) \
123	$(CORE6FILES) \
124	$(APIFILES) \
125	$(NETIFFILES) \
126	$(PPPFILES) \
127	$(SIXLOWPAN)
128
129# SNMPFILES: SNMPv2c agent
130SNMPFILES=apps/snmp/snmp_asn1.c \
131	apps/snmp/snmp_core.c \
132	apps/snmp/snmp_mib2.c \
133	apps/snmp/snmp_mib2_icmp.c \
134	apps/snmp/snmp_mib2_interfaces.c \
135	apps/snmp/snmp_mib2_ip.c \
136	apps/snmp/snmp_mib2_snmp.c \
137	apps/snmp/snmp_mib2_system.c \
138	apps/snmp/snmp_mib2_tcp.c \
139	apps/snmp/snmp_mib2_udp.c \
140	apps/snmp/snmp_msg.c \
141	apps/snmp/snmpv3.c \
142	apps/snmp/snmp_netconn.c \
143	apps/snmp/snmp_pbuf_stream.c \
144	apps/snmp/snmp_raw.c \
145	apps/snmp/snmp_scalar.c \
146	apps/snmp/snmp_table.c \
147	apps/snmp/snmp_threadsync.c \
148	apps/snmp/snmp_traps.c \
149	apps/snmp/snmpv3_mbedtls.c \
150	apps/snmp/snmpv3_dummy.c
151
152# HTTPDFILES: HTTP server
153HTTPDFILES=apps/httpd/fs.c \
154	apps/httpd/httpd.c
155
156# IPERFFILES: IPERF client/server
157IPERFFILES=apps/iperf/iperf_task.c \
158        apps/iperf/iperf_cli.c \
159		apps/iperf/iperf_aos_wrapper.c
160
161# SNTPFILES: SNTP client
162SNTPFILES=apps/sntp/sntp.c
163
164# MDNSFILES: MDNS responder
165MDNSFILES=apps/mdns/mdns.c
166
167# NETBIOSNSFILES: NetBIOS name server
168NETBIOSNSFILES=apps/netbiosns/netbiosns.c
169
170# TFTPFILES: TFTP server files
171TFTPFILES=apps/tftp/tftp_server.c \
172    apps/tftp/tftp_common.c \
173    apps/tftp/tftp_client.c \
174    apps/tftp/tftp_ota.c
175
176# TELNETDFILES: telnet server files
177TELNETDFILES=apps/telnetd/telnetserver.c \
178             apps/telnetd/telnetserver_cli.c
179
180# DHCPDFILES: DHCP Server files
181DHCPDFILES=apps/dhcpd/dhcps.c
182
183# PINGFILES: PING client files
184PINGFILES=apps/ping/ping.c \
185          apps/ping/ping_cli.c \
186		  apps/ping/net_deamon.c
187
188# SENDFILEFILES: SENDFILE client/server files
189SENDFILEFILES=apps/sendfile/sendfile.c \
190          apps/sendfile/sendfile_cli.c
191
192# IFCONFIGFILEFILES: IFCONFIG files
193IFCONFIGFILES=apps/ifconfig/ifconfig.c \
194          apps/ifconfig/ifconfig_cli.c
195
196# DNSCLIFILES: DNS command line files
197DNSCLIFILES = apps/dns/dns_cli.c
198
199# ARPCLIFILES: ARP command line files
200ARPCLIFILES = apps/arp/arp_cli.c
201
202# LSFDCLIFILES: LSFD command line files
203LSFDCLIFILES = apps/lsfd/lsfd_cli.c
204
205# LWIPAPPFILES: All LWIP APPs
206LWIPAPPFILES=$(SNMPFILES) \
207	$(HTTPDFILES) \
208	$(IPERFFILES) \
209	$(SNTPFILES) \
210	$(MDNSFILES) \
211	$(NETBIOSNSFILES) \
212	$(TFTPFILES) \
213	$(TELNETDFILES) \
214	$(DHCPDFILES) \
215	$(PINGFILES)
216