include Makefile.config

LWIP_DIR = lwip-2.1.1

CORE_SRCS = $(LWIP_DIR)/src/core/init.c \
		$(LWIP_DIR)/src/core/def.c \
		$(LWIP_DIR)/src/core/dns.c \
		$(LWIP_DIR)/src/core/inet_chksum.c \
		$(LWIP_DIR)/src/core/ip.c \
	    $(LWIP_DIR)/src/core/mem.c \
	    $(LWIP_DIR)/src/core/memp.c \
	    $(LWIP_DIR)/src/core/netif.c \
	    $(LWIP_DIR)/src/core/pbuf.c \
	    $(LWIP_DIR)/src/core/raw.c \
	    $(LWIP_DIR)/src/core/stats.c \
	    $(LWIP_DIR)/src/core/def.c \
	    $(LWIP_DIR)/src/core/timeouts.c \
	    $(LWIP_DIR)/src/core/sys.c \
	    $(LWIP_DIR)/src/netif/ethernet.c

CORE_IPV4_SRCS = $(LWIP_DIR)/src/core/ipv4/ip4_addr.c \
		 $(LWIP_DIR)/src/core/ipv4/icmp.c \
		 $(LWIP_DIR)/src/core/ipv4/igmp.c \
		 $(LWIP_DIR)/src/core/ipv4/ip4.c \
		 $(LWIP_DIR)/src/core/ipv4/ip4_frag.c \
		 $(LWIP_DIR)/src/core/ipv4/etharp.c \
		 $(LWIP_DIR)/src/core/ipv4/autoip.c

CORE_IPV6_SRCS = $(LWIP_DIR)/src/core/ipv6/inet6.c  \
		 $(LWIP_DIR)/src/core/ipv6/ip6_addr.c \
		 $(LWIP_DIR)/src/core/ipv6/ip6_frag.c \
		 $(LWIP_DIR)/src/core/ipv6/icmp6.c \
		 $(LWIP_DIR)/src/core/ipv6/ip6.c \
		 $(LWIP_DIR)/src/core/ipv6/dhcp6.c \
		 $(LWIP_DIR)/src/core/ipv6/ethip6.c \
		 $(LWIP_DIR)/src/core/ipv6/mld6.c \
		 $(LWIP_DIR)/src/core/ipv6/nd6.c

CORE_TCP_SRCS  = $(LWIP_DIR)/src/core/tcp.c \
	         $(LWIP_DIR)/src/core/tcp_in.c \
	         $(LWIP_DIR)/src/core/tcp_out.c

CORE_DHCP_SRCS = $(LWIP_DIR)/src/core/ipv4/dhcp.c

CORE_UDP_SRCS  = $(LWIP_DIR)/src/core/udp.c

# SNMPFILES: SNMPv2c agent
CORE_SNMP_SRCS=$(LWIP_DIR)/src/apps/snmp/snmp_asn1.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_core.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_icmp.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_interfaces.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_ip.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_snmp.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_system.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_tcp.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_mib2_udp.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_msg.c \
	$(LWIP_DIR)/src/apps/snmp/snmpv3.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_netconn.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_pbuf_stream.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_raw.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_scalar.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_table.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_threadsync.c \
	$(LWIP_DIR)/src/apps/snmp/snmp_traps.c \
	$(LWIP_DIR)/src/apps/snmp/snmpv3_mbedtls.c \
	$(LWIP_DIR)/src/apps/snmp/snmpv3_dummy.c


CORE_ARP_SRCS  = $(LWIP_DIR)/src/netif/etharp.c

API_SOCK_SRCS = $(LWIP_DIR)/src/api/api_lib.c \
		 $(LWIP_DIR)/src/api/api_msg.c \
		 $(LWIP_DIR)/src/api/err.c \
		 $(LWIP_DIR)/src/api/netbuf.c \
		 $(LWIP_DIR)/src/api/netdb.c \
		 $(LWIP_DIR)/src/api/netifapi.c \
		 $(LWIP_DIR)/src/api/sockets.c \
		 $(LWIP_DIR)/src/api/tcpip.c

LWIP_INCLUDES = $(LWIP_DIR)/src/include/lwip/autoip.h \
		$(LWIP_DIR)/src/include/lwip/icmp.h \
		$(LWIP_DIR)/src/include/lwip/igmp.h \
		$(LWIP_DIR)/src/include/lwip/inet.h \
		$(LWIP_DIR)/src/include/lwip/inet_chksum.h \
		$(LWIP_DIR)/src/include/lwip/ip.h \
		$(LWIP_DIR)/src/include/lwip/ip_addr.h \
		$(LWIP_DIR)/src/include/lwip/ip4_frag.h \
		$(LWIP_DIR)/src/include/lwip/icmp6.h \
		$(LWIP_DIR)/src/include/lwip/api.h \
		$(LWIP_DIR)/src/include/lwip/arch.h \
		$(LWIP_DIR)/src/include/lwip/debug.h \
		$(LWIP_DIR)/src/include/lwip/def.h \
		$(LWIP_DIR)/src/include/lwip/dhcp.h \
		$(LWIP_DIR)/src/include/lwip/dhcp6.h \
		$(LWIP_DIR)/src/include/lwip/dns.h \
		$(LWIP_DIR)/src/include/lwip/err.h \
		$(LWIP_DIR)/src/include/lwip/init.h \
		$(LWIP_DIR)/src/include/lwip/mem.h \
		$(LWIP_DIR)/src/include/lwip/memp.h \
		$(LWIP_DIR)/src/include/lwip/netbuf.h \
		$(LWIP_DIR)/src/include/lwip/netdb.h \
		$(LWIP_DIR)/src/include/lwip/netif.h \
		$(LWIP_DIR)/src/include/lwip/netifapi.h \
		$(LWIP_DIR)/src/include/lwip/opt.h \
		$(LWIP_DIR)/src/include/lwip/raw.h \
		$(LWIP_DIR)/src/include/lwip/pbuf.h \
		$(LWIP_DIR)/src/include/lwip/sio.h \
		$(LWIP_DIR)/src/include/lwip/snmp.h \
		$(LWIP_DIR)/src/include/lwip/sockets.h \
		$(LWIP_DIR)/src/include/lwip/stats.h \
		$(LWIP_DIR)/src/include/lwip/sys.h \
		$(LWIP_DIR)/src/include/lwip/tcp.h \
		$(LWIP_DIR)/src/include/lwip/tcpip.h \
		$(LWIP_DIR)/src/include/lwip/timeouts.h \
		$(LWIP_DIR)/src/include/lwip/udp.h \
		$(LWIP_DIR)/src/include/netif/etharp.h \
		$(LWIP_DIR)/src/include/netif/ppp/ppp_oe.h \
		$(LWIP_DIR)/src/include/netif/slipif.h


# create LWIP_SRCS based on configured options

LWIP_SRCS = $(CORE_SRCS)

# we always include ARP, IPv4, TCP and UDP sources
LWIP_SRCS += $(CORE_ARP_SRCS)
LWIP_SRCS += $(CORE_IPV4_SRCS)
LWIP_SRCS += $(CORE_IPV6_SRCS)
LWIP_SRCS += $(CORE_TCP_SRCS)
LWIP_SRCS += $(CORE_UDP_SRCS)
LWIP_SRCS += $(CORE_DHCP_SRCS)

ifeq ($(CONFIG_SOCKETS), y)
LWIP_SRCS += $(API_SOCK_SRCS)
endif

LWIP_OBJS1 = $(LWIP_SRCS:%.c=%.o)
LWIP_OBJS = $(notdir $(LWIP_OBJS1))
