Start working on a CMAKE build system

This commit is contained in:
Dirk Ziegelmeier 2018-04-23 22:56:35 +02:00
parent b2948c08f7
commit b60df2df20
5 changed files with 3046 additions and 122 deletions

File diff suppressed because it is too large Load Diff

284
src/CMakeLists.txt Normal file
View File

@ -0,0 +1,284 @@
set(LWIP_VERSION_MAJOR "2")
set(LWIP_VERSION_MINOR "0")
set(LWIP_VERSION_REVISION "3")
# LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */
# LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for Git versions */
set(LWIP_VERSION_RC "LWIP_RC_DEVELOPMENT")
set(LWIP_VERSION_STRING_SHORT
"${LWIP_VERSION_MAJOR}.${LWIP_VERSION_MINOR}.${LWIP_VERSION_REVISION}"
)
set(LWIP_VERSION_STRING
"${LWIP_VERSION_MAJOR}.${LWIP_VERSION_MINOR}.${LWIP_VERSION_REVISION}.${LWIP_VERSION_RC}"
)
configure_file(include/lwip/init.h.cmake.in
${CMAKE_CURRENT_SOURCE_DIR}/include/lwip/init.h)
# The minimum set of files needed for lwIP.
set(lwipcore_SRCS
core/init.c
core/def.c
core/dns.c
core/inet_chksum.c
core/ip.c
core/mem.c
core/memp.c
core/netif.c
core/pbuf.c
core/raw.c
core/stats.c
core/sys.c
core/altcp.c
core/altcp_alloc.c
core/altcp_tcp.c
core/tcp.c
core/tcp_in.c
core/tcp_out.c
core/timeouts.c
core/udp.c
)
set(lwipcore4_SRCS
core/ipv4/autoip.c
core/ipv4/dhcp.c
core/ipv4/etharp.c
core/ipv4/icmp.c
core/ipv4/igmp.c
core/ipv4/ip4_frag.c
core/ipv4/ip4.c
core/ipv4/ip4_addr.c
)
set(lwipcore6_SRCS
core/ipv6/dhcp6.c
core/ipv6/ethip6.c
core/ipv6/icmp6.c
core/ipv6/inet6.c
core/ipv6/ip6.c
core/ipv6/ip6_addr.c
core/ipv6/ip6_frag.c
core/ipv6/mld6.c
core/ipv6/nd6.c
)
# APIFILES: The files which implement the sequential and socket APIs.
set(lwipapi_SRCS
api/api_lib.c
api/api_msg.c
api/err.c
api/if_api.c
api/netbuf.c
api/netdb.c
api/netifapi.c
api/sockets.c
api/tcpip.c
)
# Files implementing various generic network interface functions
set(lwipnetif_SRCS
netif/ethernet.c
netif/bridgeif.c
netif/bridgeif_fdb.c
netif/slipif.c
)
# 6LoWPAN
set(lwipsixlowpan_SRCS
netif/lowpan6_common.c
netif/lowpan6.c
netif/lowpan6_ble.c
netif/zepif.c
)
# PPP
set(lwipppp_SRCS
netif/ppp/auth.c
netif/ppp/ccp.c
netif/ppp/chap-md5.c
netif/ppp/chap_ms.c
netif/ppp/chap-new.c
netif/ppp/demand.c
netif/ppp/eap.c
netif/ppp/ecp.c
netif/ppp/eui64.c
netif/ppp/fsm.c
netif/ppp/ipcp.c
netif/ppp/ipv6cp.c
netif/ppp/lcp.c
netif/ppp/magic.c
netif/ppp/mppe.c
netif/ppp/multilink.c
netif/ppp/ppp.c
netif/ppp/pppapi.c
netif/ppp/pppcrypt.c
netif/ppp/pppoe.c
netif/ppp/pppol2tp.c
netif/ppp/pppos.c
netif/ppp/upap.c
netif/ppp/utils.c
netif/ppp/vj.c
netif/ppp/polarssl/arc4.c
netif/ppp/polarssl/des.c
netif/ppp/polarssl/md4.c
netif/ppp/polarssl/md5.c
netif/ppp/polarssl/sha1.c
)
# SNMPv3 agent
set(lwipsnmp_SRCS
apps/snmp/snmp_asn1.c
apps/snmp/snmp_core.c
apps/snmp/snmp_mib2.c
apps/snmp/snmp_mib2_icmp.c
apps/snmp/snmp_mib2_interfaces.c
apps/snmp/snmp_mib2_ip.c
apps/snmp/snmp_mib2_snmp.c
apps/snmp/snmp_mib2_system.c
apps/snmp/snmp_mib2_tcp.c
apps/snmp/snmp_mib2_udp.c
apps/snmp/snmp_snmpv2_framework.c
apps/snmp/snmp_snmpv2_usm.c
apps/snmp/snmp_msg.c
apps/snmp/snmpv3.c
apps/snmp/snmp_netconn.c
apps/snmp/snmp_pbuf_stream.c
apps/snmp/snmp_raw.c
apps/snmp/snmp_scalar.c
apps/snmp/snmp_table.c
apps/snmp/snmp_threadsync.c
apps/snmp/snmp_traps.c
)
# HTTP server + client
set(lwiphttp_SRCS
apps/http/altcp_proxyconnect.c
apps/http/fs.c
apps/http/http_client.c
apps/http/httpd.c
)
# MAKEFSDATA HTTP server host utility
set(lwipmakefsdata_SRCS
apps/http/makefsdata/makefsdata.c
)
# IPERF server
set(lwipiperf_SRCS
apps/lwiperf/lwiperf.c
)
# SMTP client
set(lwipsmtp_SRCS
apps/smtp/smtp.c
)
# SNTP client
set(lwipsntp_SRCS
apps/sntp/sntp.c
)
# MDNS responder
set(lwipmdns_SRCS
apps/mdns/mdns.c
)
# NetBIOS name server
set(lwipnetbios_SRCS
apps/netbiosns/netbiosns.c
)
# TFTP server files
set(lwiptftp_SRCS
apps/tftp/tftp_server.c
)
# MQTT client files
set(lwipmqtt_SRCS
apps/mqtt/mqtt.c
)
# ARM MBEDTLS related files of lwIP rep
set(lwipmbedtls_SRCS
apps/altcp_tls/altcp_tls_mbedtls.c
apps/altcp_tls/altcp_tls_mbedtls_mem.c
apps/snmp/snmpv3_mbedtls.c
)
# All LWIP files without apps
set(lwipnoapps_SRCS
${lwipcore_SRCS}
${lwipcore4_SRCS}
${lwipcore6_SRCS}
${lwipapi_SRCS}
${lwipnetif_SRCS}
${lwipsixlowpan_SRCS}
${lwipppp_SRCS}
)
# LWIPAPPFILES: All LWIP APPs
set(lwipallapps_SRCS
${lwipsnmp_SRCS}
${lwiphttp_SRCS}
${lwipiperf_SRCS}
${lwipsmtp_SRCS}
${lwipsntp_SRCS}
${lwipmdns_SRCS}
${lwipnetbios_SRCS}
${lwiptftp_SRCS}
${lwipmqtt_SRCS}
${lwipmbedtls_SRCS}
)
# Documentation
option(BUILD_DOCUMENTATION "Build documentation" OFF)
if(BUILD_DOCUMENTATION)
find_package(Doxygen)
if (DOXYGEN_FOUND)
# set input and output files
set(DOXYGEN_IN ../doc/doxygen/lwip.Doxyfile.cmake.in)
set(DOXYGEN_OUT ${CMAKE_CURRENT_SOURCE_DIR}/../doc/doxygen/lwip.Doxyfile)
# request to configure the file
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT})
message("Doxygen build started")
# note the option ALL which allows to build the docs together with the application
add_custom_target(lwipdocs ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../doc/doxygen
COMMENT "Generating API documentation with Doxygen"
VERBATIM )
else (DOXYGEN_FOUND)
message("Doxygen need to be installed to generate the doxygen documentation")
endif (DOXYGEN_FOUND)
endif()
# Generate Filelists.mk via cmake
function(lwip_gen_filelist_entries var_name filelist_var_name)
foreach(srcfile ${${filelist_var_name}})
set(tmp "${tmp}$(LWIPDIR)/${srcfile} ")
endforeach()
set(${var_name} "${tmp}" PARENT_SCOPE)
endfunction(lwip_gen_filelist_entries)
lwip_gen_filelist_entries("filelist_mk_COREFILES" "lwipcore_SRCS")
lwip_gen_filelist_entries("filelist_mk_CORE4FILES" "lwipcore4_SRCS")
lwip_gen_filelist_entries("filelist_mk_CORE6FILES" "lwipcore6_SRCS")
lwip_gen_filelist_entries("filelist_mk_APIFILES" "lwipapi_SRCS")
lwip_gen_filelist_entries("filelist_mk_NETIFFILES" "lwipnetif_SRCS")
lwip_gen_filelist_entries("filelist_mk_SIXLOWPANFILES" "lwipsixlowpan_SRCS")
lwip_gen_filelist_entries("filelist_mk_PPPFILES" "lwipppp_SRCS")
lwip_gen_filelist_entries("filelist_mk_SNMPFILES" "lwipsnmp_SRCS")
lwip_gen_filelist_entries("filelist_mk_HTTPFILES" "lwiphttp_SRCS")
lwip_gen_filelist_entries("filelist_mk_MKFSDATAFILES" "lwipmakefsdata_SRCS")
lwip_gen_filelist_entries("filelist_mk_IPERFFILES" "lwipiperf_SRCS")
lwip_gen_filelist_entries("filelist_mk_SMTPFILES" "lwipsmtp_SRCS")
lwip_gen_filelist_entries("filelist_mk_SNTPFILES" "lwipsntp_SRCS")
lwip_gen_filelist_entries("filelist_mk_MDNSFILES" "lwipmdns_SRCS")
lwip_gen_filelist_entries("filelist_mk_NETBIOSFILES" "lwipnetbios_SRCS")
lwip_gen_filelist_entries("filelist_mk_TFTPFILES" "lwiptftp_SRCS")
lwip_gen_filelist_entries("filelist_mk_MQTTFILES" "lwipmqtt_SRCS")
lwip_gen_filelist_entries("filelist_mk_MBEDTLSFILES" "lwipmbedtls_SRCS")
configure_file(Filelists.mk.cmake.in
${CMAKE_CURRENT_SOURCE_DIR}/Filelists.mk)

View File

@ -29,101 +29,28 @@
# Author: Adam Dunkels <adam@sics.se>
#
# COREFILES, CORE4FILES: The minimum set of files needed for lwIP.
COREFILES=$(LWIPDIR)/core/init.c \
$(LWIPDIR)/core/def.c \
$(LWIPDIR)/core/dns.c \
$(LWIPDIR)/core/inet_chksum.c \
$(LWIPDIR)/core/ip.c \
$(LWIPDIR)/core/mem.c \
$(LWIPDIR)/core/memp.c \
$(LWIPDIR)/core/netif.c \
$(LWIPDIR)/core/pbuf.c \
$(LWIPDIR)/core/raw.c \
$(LWIPDIR)/core/stats.c \
$(LWIPDIR)/core/sys.c \
$(LWIPDIR)/core/altcp.c \
$(LWIPDIR)/core/altcp_alloc.c \
$(LWIPDIR)/core/altcp_tcp.c \
$(LWIPDIR)/core/tcp.c \
$(LWIPDIR)/core/tcp_in.c \
$(LWIPDIR)/core/tcp_out.c \
$(LWIPDIR)/core/timeouts.c \
$(LWIPDIR)/core/udp.c
LWIP_VERSION_MAJOR=2
LWIP_VERSION_MINOR=0
LWIP_VERSION_REVISION=3
CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c \
$(LWIPDIR)/core/ipv4/dhcp.c \
$(LWIPDIR)/core/ipv4/etharp.c \
$(LWIPDIR)/core/ipv4/icmp.c \
$(LWIPDIR)/core/ipv4/igmp.c \
$(LWIPDIR)/core/ipv4/ip4_frag.c \
$(LWIPDIR)/core/ipv4/ip4.c \
$(LWIPDIR)/core/ipv4/ip4_addr.c
# COREFILES: The minimum set of files needed for lwIP.
COREFILES=$(LWIPDIR)/core/init.c $(LWIPDIR)/core/def.c $(LWIPDIR)/core/dns.c $(LWIPDIR)/core/inet_chksum.c $(LWIPDIR)/core/ip.c $(LWIPDIR)/core/mem.c $(LWIPDIR)/core/memp.c $(LWIPDIR)/core/netif.c $(LWIPDIR)/core/pbuf.c $(LWIPDIR)/core/raw.c $(LWIPDIR)/core/stats.c $(LWIPDIR)/core/sys.c $(LWIPDIR)/core/altcp.c $(LWIPDIR)/core/altcp_alloc.c $(LWIPDIR)/core/altcp_tcp.c $(LWIPDIR)/core/tcp.c $(LWIPDIR)/core/tcp_in.c $(LWIPDIR)/core/tcp_out.c $(LWIPDIR)/core/timeouts.c $(LWIPDIR)/core/udp.c
CORE6FILES=$(LWIPDIR)/core/ipv6/dhcp6.c \
$(LWIPDIR)/core/ipv6/ethip6.c \
$(LWIPDIR)/core/ipv6/icmp6.c \
$(LWIPDIR)/core/ipv6/inet6.c \
$(LWIPDIR)/core/ipv6/ip6.c \
$(LWIPDIR)/core/ipv6/ip6_addr.c \
$(LWIPDIR)/core/ipv6/ip6_frag.c \
$(LWIPDIR)/core/ipv6/mld6.c \
$(LWIPDIR)/core/ipv6/nd6.c
CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c $(LWIPDIR)/core/ipv4/dhcp.c $(LWIPDIR)/core/ipv4/etharp.c $(LWIPDIR)/core/ipv4/icmp.c $(LWIPDIR)/core/ipv4/igmp.c $(LWIPDIR)/core/ipv4/ip4_frag.c $(LWIPDIR)/core/ipv4/ip4.c $(LWIPDIR)/core/ipv4/ip4_addr.c
CORE6FILES=$(LWIPDIR)/core/ipv6/dhcp6.c $(LWIPDIR)/core/ipv6/ethip6.c $(LWIPDIR)/core/ipv6/icmp6.c $(LWIPDIR)/core/ipv6/inet6.c $(LWIPDIR)/core/ipv6/ip6.c $(LWIPDIR)/core/ipv6/ip6_addr.c $(LWIPDIR)/core/ipv6/ip6_frag.c $(LWIPDIR)/core/ipv6/mld6.c $(LWIPDIR)/core/ipv6/nd6.c
# APIFILES: The files which implement the sequential and socket APIs.
APIFILES=$(LWIPDIR)/api/api_lib.c \
$(LWIPDIR)/api/api_msg.c \
$(LWIPDIR)/api/err.c \
$(LWIPDIR)/api/if_api.c \
$(LWIPDIR)/api/netbuf.c \
$(LWIPDIR)/api/netdb.c \
$(LWIPDIR)/api/netifapi.c \
$(LWIPDIR)/api/sockets.c \
$(LWIPDIR)/api/tcpip.c
APIFILES=$(LWIPDIR)/api/api_lib.c $(LWIPDIR)/api/api_msg.c $(LWIPDIR)/api/err.c $(LWIPDIR)/api/if_api.c $(LWIPDIR)/api/netbuf.c $(LWIPDIR)/api/netdb.c $(LWIPDIR)/api/netifapi.c $(LWIPDIR)/api/sockets.c $(LWIPDIR)/api/tcpip.c
# NETIFFILES: Files implementing various generic network interface functions
NETIFFILES=$(LWIPDIR)/netif/ethernet.c \
$(LWIPDIR)/netif/bridgeif.c \
$(LWIPDIR)/netif/bridgeif_fdb.c \
$(LWIPDIR)/netif/slipif.c
NETIFFILES=$(LWIPDIR)/netif/ethernet.c $(LWIPDIR)/netif/bridgeif.c $(LWIPDIR)/netif/bridgeif_fdb.c $(LWIPDIR)/netif/slipif.c
# SIXLOWPAN: 6LoWPAN
SIXLOWPAN=$(LWIPDIR)/netif/lowpan6_common.c \
$(LWIPDIR)/netif/lowpan6.c \
$(LWIPDIR)/netif/lowpan6_ble.c \
$(LWIPDIR)/netif/zepif.c
SIXLOWPAN=$(LWIPDIR)/netif/lowpan6_common.c $(LWIPDIR)/netif/lowpan6.c $(LWIPDIR)/netif/lowpan6_ble.c $(LWIPDIR)/netif/zepif.c
# PPPFILES: PPP
PPPFILES=$(LWIPDIR)/netif/ppp/auth.c \
$(LWIPDIR)/netif/ppp/ccp.c \
$(LWIPDIR)/netif/ppp/chap-md5.c \
$(LWIPDIR)/netif/ppp/chap_ms.c \
$(LWIPDIR)/netif/ppp/chap-new.c \
$(LWIPDIR)/netif/ppp/demand.c \
$(LWIPDIR)/netif/ppp/eap.c \
$(LWIPDIR)/netif/ppp/ecp.c \
$(LWIPDIR)/netif/ppp/eui64.c \
$(LWIPDIR)/netif/ppp/fsm.c \
$(LWIPDIR)/netif/ppp/ipcp.c \
$(LWIPDIR)/netif/ppp/ipv6cp.c \
$(LWIPDIR)/netif/ppp/lcp.c \
$(LWIPDIR)/netif/ppp/magic.c \
$(LWIPDIR)/netif/ppp/mppe.c \
$(LWIPDIR)/netif/ppp/multilink.c \
$(LWIPDIR)/netif/ppp/ppp.c \
$(LWIPDIR)/netif/ppp/pppapi.c \
$(LWIPDIR)/netif/ppp/pppcrypt.c \
$(LWIPDIR)/netif/ppp/pppoe.c \
$(LWIPDIR)/netif/ppp/pppol2tp.c \
$(LWIPDIR)/netif/ppp/pppos.c \
$(LWIPDIR)/netif/ppp/upap.c \
$(LWIPDIR)/netif/ppp/utils.c \
$(LWIPDIR)/netif/ppp/vj.c \
$(LWIPDIR)/netif/ppp/polarssl/arc4.c \
$(LWIPDIR)/netif/ppp/polarssl/des.c \
$(LWIPDIR)/netif/ppp/polarssl/md4.c \
$(LWIPDIR)/netif/ppp/polarssl/md5.c \
$(LWIPDIR)/netif/ppp/polarssl/sha1.c
PPPFILES=$(LWIPDIR)/netif/ppp/auth.c $(LWIPDIR)/netif/ppp/ccp.c $(LWIPDIR)/netif/ppp/chap-md5.c $(LWIPDIR)/netif/ppp/chap_ms.c $(LWIPDIR)/netif/ppp/chap-new.c $(LWIPDIR)/netif/ppp/demand.c $(LWIPDIR)/netif/ppp/eap.c $(LWIPDIR)/netif/ppp/ecp.c $(LWIPDIR)/netif/ppp/eui64.c $(LWIPDIR)/netif/ppp/fsm.c $(LWIPDIR)/netif/ppp/ipcp.c $(LWIPDIR)/netif/ppp/ipv6cp.c $(LWIPDIR)/netif/ppp/lcp.c $(LWIPDIR)/netif/ppp/magic.c $(LWIPDIR)/netif/ppp/mppe.c $(LWIPDIR)/netif/ppp/multilink.c $(LWIPDIR)/netif/ppp/ppp.c $(LWIPDIR)/netif/ppp/pppapi.c $(LWIPDIR)/netif/ppp/pppcrypt.c $(LWIPDIR)/netif/ppp/pppoe.c $(LWIPDIR)/netif/ppp/pppol2tp.c $(LWIPDIR)/netif/ppp/pppos.c $(LWIPDIR)/netif/ppp/upap.c $(LWIPDIR)/netif/ppp/utils.c $(LWIPDIR)/netif/ppp/vj.c $(LWIPDIR)/netif/ppp/polarssl/arc4.c $(LWIPDIR)/netif/ppp/polarssl/des.c $(LWIPDIR)/netif/ppp/polarssl/md4.c $(LWIPDIR)/netif/ppp/polarssl/md5.c $(LWIPDIR)/netif/ppp/polarssl/sha1.c
# LWIPNOAPPSFILES: All LWIP files without apps
LWIPNOAPPSFILES=$(COREFILES) \
@ -134,63 +61,38 @@ LWIPNOAPPSFILES=$(COREFILES) \
$(PPPFILES) \
$(SIXLOWPAN)
# SNMPFILES: SNMPv2c agent
SNMPFILES=$(LWIPDIR)/apps/snmp/snmp_asn1.c \
$(LWIPDIR)/apps/snmp/snmp_core.c \
$(LWIPDIR)/apps/snmp/snmp_mib2.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_icmp.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_interfaces.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_ip.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_snmp.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_system.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_tcp.c \
$(LWIPDIR)/apps/snmp/snmp_mib2_udp.c \
$(LWIPDIR)/apps/snmp/snmp_snmpv2_framework.c \
$(LWIPDIR)/apps/snmp/snmp_snmpv2_usm.c \
$(LWIPDIR)/apps/snmp/snmp_msg.c \
$(LWIPDIR)/apps/snmp/snmpv3.c \
$(LWIPDIR)/apps/snmp/snmp_netconn.c \
$(LWIPDIR)/apps/snmp/snmp_pbuf_stream.c \
$(LWIPDIR)/apps/snmp/snmp_raw.c \
$(LWIPDIR)/apps/snmp/snmp_scalar.c \
$(LWIPDIR)/apps/snmp/snmp_table.c \
$(LWIPDIR)/apps/snmp/snmp_threadsync.c \
$(LWIPDIR)/apps/snmp/snmp_traps.c
# SNMPFILES: SNMPv3 agent
SNMPFILES=$(LWIPDIR)/apps/snmp/snmp_asn1.c $(LWIPDIR)/apps/snmp/snmp_core.c $(LWIPDIR)/apps/snmp/snmp_mib2.c $(LWIPDIR)/apps/snmp/snmp_mib2_icmp.c $(LWIPDIR)/apps/snmp/snmp_mib2_interfaces.c $(LWIPDIR)/apps/snmp/snmp_mib2_ip.c $(LWIPDIR)/apps/snmp/snmp_mib2_snmp.c $(LWIPDIR)/apps/snmp/snmp_mib2_system.c $(LWIPDIR)/apps/snmp/snmp_mib2_tcp.c $(LWIPDIR)/apps/snmp/snmp_mib2_udp.c $(LWIPDIR)/apps/snmp/snmp_snmpv2_framework.c $(LWIPDIR)/apps/snmp/snmp_snmpv2_usm.c $(LWIPDIR)/apps/snmp/snmp_msg.c $(LWIPDIR)/apps/snmp/snmpv3.c $(LWIPDIR)/apps/snmp/snmp_netconn.c $(LWIPDIR)/apps/snmp/snmp_pbuf_stream.c $(LWIPDIR)/apps/snmp/snmp_raw.c $(LWIPDIR)/apps/snmp/snmp_scalar.c $(LWIPDIR)/apps/snmp/snmp_table.c $(LWIPDIR)/apps/snmp/snmp_threadsync.c $(LWIPDIR)/apps/snmp/snmp_traps.c
# HTTPFILES: HTTP server + client
HTTPFILES=$(LWIPDIR)/apps/http/altcp_proxyconnect.c \
$(LWIPDIR)/apps/http/fs.c \
$(LWIPDIR)/apps/http/http_client.c \
$(LWIPDIR)/apps/http/httpd.c
HTTPFILES=$(LWIPDIR)/apps/http/altcp_proxyconnect.c $(LWIPDIR)/apps/http/fs.c $(LWIPDIR)/apps/http/http_client.c $(LWIPDIR)/apps/http/httpd.c
# MAKEFSDATA: MAKEFSDATA HTTP server host utility
MAKEFSDATAFILES=$(LWIPDIR)/apps/http/makefsdata/makefsdata.c
MAKEFSDATAFILES=$(LWIPDIR)/apps/http/makefsdata/makefsdata.c
# LWIPERFFILES: IPERF server
LWIPERFFILES=$(LWIPDIR)/apps/lwiperf/lwiperf.c
LWIPERFFILES=$(LWIPDIR)/apps/lwiperf/lwiperf.c
# SMTPFILES: SMTP client
SMTPFILES=$(LWIPDIR)/apps/smtp/smtp.c
SMTPFILES=$(LWIPDIR)/apps/smtp/smtp.c
# SNTPFILES: SNTP client
SNTPFILES=$(LWIPDIR)/apps/sntp/sntp.c
SNTPFILES=$(LWIPDIR)/apps/sntp/sntp.c
# MDNSFILES: MDNS responder
MDNSFILES=$(LWIPDIR)/apps/mdns/mdns.c
MDNSFILES=$(LWIPDIR)/apps/mdns/mdns.c
# NETBIOSNSFILES: NetBIOS name server
NETBIOSNSFILES=$(LWIPDIR)/apps/netbiosns/netbiosns.c
NETBIOSNSFILES=$(LWIPDIR)/apps/netbiosns/netbiosns.c
# TFTPFILES: TFTP server files
TFTPFILES=$(LWIPDIR)/apps/tftp/tftp_server.c
TFTPFILES=$(LWIPDIR)/apps/tftp/tftp_server.c
# MQTTFILES: MQTT client files
MQTTFILES=$(LWIPDIR)/apps/mqtt/mqtt.c
MQTTFILES=$(LWIPDIR)/apps/mqtt/mqtt.c
# MBEDTLS_FILES: MBEDTLS related files of lwIP rep
MBEDTLS_FILES=$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls.c \
$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls_mem.c \
$(LWIPDIR)/apps/snmp/snmpv3_mbedtls.c
MBEDTLS_FILES=$(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls.c $(LWIPDIR)/apps/altcp_tls/altcp_tls_mbedtls_mem.c $(LWIPDIR)/apps/snmp/snmpv3_mbedtls.c
# LWIPAPPFILES: All LWIP APPs
LWIPAPPFILES=$(SNMPFILES) \

107
src/Filelists.mk.cmake.in Normal file
View File

@ -0,0 +1,107 @@
#
# Copyright (c) 2001, 2002 Swedish Institute of Computer Science.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
# SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
# OF SUCH DAMAGE.
#
# This file is part of the lwIP TCP/IP stack.
#
# Author: Adam Dunkels <adam@sics.se>
#
LWIP_VERSION_MAJOR=${LWIP_VERSION_MAJOR}
LWIP_VERSION_MINOR=${LWIP_VERSION_MINOR}
LWIP_VERSION_REVISION=${LWIP_VERSION_REVISION}
# COREFILES: The minimum set of files needed for lwIP.
COREFILES=${filelist_mk_COREFILES}
CORE4FILES=${filelist_mk_CORE4FILES}
CORE6FILES=${filelist_mk_CORE6FILES}
# APIFILES: The files which implement the sequential and socket APIs.
APIFILES=${filelist_mk_APIFILES}
# NETIFFILES: Files implementing various generic network interface functions
NETIFFILES=${filelist_mk_NETIFFILES}
# SIXLOWPAN: 6LoWPAN
SIXLOWPAN=${filelist_mk_SIXLOWPANFILES}
# PPPFILES: PPP
PPPFILES=${filelist_mk_PPPFILES}
# LWIPNOAPPSFILES: All LWIP files without apps
LWIPNOAPPSFILES=$(COREFILES) \
$(CORE4FILES) \
$(CORE6FILES) \
$(APIFILES) \
$(NETIFFILES) \
$(PPPFILES) \
$(SIXLOWPAN)
# SNMPFILES: SNMPv3 agent
SNMPFILES=${filelist_mk_SNMPFILES}
# HTTPFILES: HTTP server + client
HTTPFILES=${filelist_mk_HTTPFILES}
# MAKEFSDATA: MAKEFSDATA HTTP server host utility
MAKEFSDATAFILES=${filelist_mk_MKFSDATAFILES}
# LWIPERFFILES: IPERF server
LWIPERFFILES=${filelist_mk_IPERFFILES}
# SMTPFILES: SMTP client
SMTPFILES=${filelist_mk_SMTPFILES}
# SNTPFILES: SNTP client
SNTPFILES=${filelist_mk_SNTPFILES}
# MDNSFILES: MDNS responder
MDNSFILES=${filelist_mk_MDNSFILES}
# NETBIOSNSFILES: NetBIOS name server
NETBIOSNSFILES=${filelist_mk_NETBIOSFILES}
# TFTPFILES: TFTP server files
TFTPFILES=${filelist_mk_TFTPFILES}
# MQTTFILES: MQTT client files
MQTTFILES=${filelist_mk_MQTTFILES}
# MBEDTLS_FILES: MBEDTLS related files of lwIP rep
MBEDTLS_FILES=${filelist_mk_MBEDTLSFILES}
# LWIPAPPFILES: All LWIP APPs
LWIPAPPFILES=$(SNMPFILES) \
$(HTTPFILES) \
$(LWIPERFFILES) \
$(SMTPFILES) \
$(SNTPFILES) \
$(MDNSFILES) \
$(NETBIOSNSFILES) \
$(TFTPFILES) \
$(MQTTFILES) \
$(MBEDTLS_FILES)

View File

@ -0,0 +1,100 @@
/**
* @file
* lwIP initialization API
*/
/*
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*
* This file is part of the lwIP TCP/IP stack.
*
* Author: Adam Dunkels <adam@sics.se>
*
*/
#ifndef LWIP_HDR_INIT_H
#define LWIP_HDR_INIT_H
#include "lwip/opt.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @defgroup lwip_version Version
* @ingroup lwip
* @{
*/
/** X.x.x: Major version of the stack */
#define LWIP_VERSION_MAJOR ${LWIP_VERSION_MAJOR}
/** x.X.x: Minor version of the stack */
#define LWIP_VERSION_MINOR ${LWIP_VERSION_MINOR}
/** x.x.X: Revision of the stack */
#define LWIP_VERSION_REVISION ${LWIP_VERSION_REVISION}
/** For release candidates, this is set to 1..254
* For official releases, this is set to 255 (LWIP_RC_RELEASE)
* For development versions (Git), this is set to 0 (LWIP_RC_DEVELOPMENT) */
#define LWIP_VERSION_RC ${LWIP_VERSION_RC}
/** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */
#define LWIP_RC_RELEASE 255
/** LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for Git versions */
#define LWIP_RC_DEVELOPMENT 0
#define LWIP_VERSION_IS_RELEASE (LWIP_VERSION_RC == LWIP_RC_RELEASE)
#define LWIP_VERSION_IS_DEVELOPMENT (LWIP_VERSION_RC == LWIP_RC_DEVELOPMENT)
#define LWIP_VERSION_IS_RC ((LWIP_VERSION_RC != LWIP_RC_RELEASE) && (LWIP_VERSION_RC != LWIP_RC_DEVELOPMENT))
/* Some helper defines to get a version string */
#define LWIP_VERSTR2(x) #x
#define LWIP_VERSTR(x) LWIP_VERSTR2(x)
#if LWIP_VERSION_IS_RELEASE
#define LWIP_VERSION_STRING_SUFFIX ""
#elif LWIP_VERSION_IS_DEVELOPMENT
#define LWIP_VERSION_STRING_SUFFIX "d"
#else
#define LWIP_VERSION_STRING_SUFFIX "rc" LWIP_VERSTR(LWIP_VERSION_RC)
#endif
/** Provides the version of the stack */
#define LWIP_VERSION ((LWIP_VERSION_MAJOR) << 24 | (LWIP_VERSION_MINOR) << 16 | \
(LWIP_VERSION_REVISION) << 8 | (LWIP_VERSION_RC))
/** Provides the version of the stack as string */
#define LWIP_VERSION_STRING LWIP_VERSTR(LWIP_VERSION_MAJOR) "." LWIP_VERSTR(LWIP_VERSION_MINOR) "." LWIP_VERSTR(LWIP_VERSION_REVISION) LWIP_VERSION_STRING_SUFFIX
/**
* @}
*/
/* Modules initialization */
void lwip_init(void);
#ifdef __cplusplus
}
#endif
#endif /* LWIP_HDR_INIT_H */