123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #
- # 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>
- #
- CONTRIBDIR=../ext/contrib
- LWIPARCH=$(CONTRIBDIR)/ports/unix
- #Set this to where you have the lwip core module checked out from CVS
- #default assumes it's a dir named lwip at the same level as the contrib module
- LWIPDIR=../ext/lwip/src
- CCDEP=gcc
- CC=gcc
- CFLAGS=-O3 -g -Wall -DIPv4 -fPIC
- #-DLWIP_DEBUG
- CFLAGS:=$(CFLAGS) \
- -I$(LWIPDIR)/include -I$(LWIPARCH)/include -I$(LWIPDIR)/include/ipv4 \
- -I$(LWIPDIR) -I.
- # COREFILES, CORE4FILES: The minimum set of files needed for lwIP.
- COREFILES=$(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/tcp.c $(LWIPDIR)/core/tcp_in.c \
- $(LWIPDIR)/core/tcp_out.c $(LWIPDIR)/core/udp.c $(LWIPDIR)/core/dhcp.c \
- $(LWIPDIR)/core/init.c $(LWIPDIR)/core/timers.c $(LWIPDIR)/core/def.c
- CORE4FILES=$(wildcard $(LWIPDIR)/core/ipv4/*.c) $(LWIPDIR)/core/ipv4/inet.c \
- $(LWIPDIR)/core/ipv4/inet_chksum.c
- # SNMPFILES: Extra SNMPv1 agent
- SNMPFILES=$(LWIPDIR)/core/snmp/asn1_dec.c $(LWIPDIR)/core/snmp/asn1_enc.c \
- $(LWIPDIR)/core/snmp/mib2.c $(LWIPDIR)/core/snmp/mib_structs.c \
- $(LWIPDIR)/core/snmp/msg_in.c $(LWIPDIR)/core/snmp/msg_out.c
- # APIFILES: The files which implement the sequential and socket APIs.
- APIFILES=$(LWIPDIR)/api/api_lib.c $(LWIPDIR)/api/api_msg.c $(LWIPDIR)/api/tcpip.c \
- $(LWIPDIR)/api/err.c $(LWIPDIR)/api/sockets.c $(LWIPDIR)/api/netbuf.c $(LWIPDIR)/api/netdb.c
- # NETIFFILES: Files implementing various generic network interface functions.'
- NETIFFILES=$(LWIPDIR)/netif/etharp.c $(LWIPDIR)/netif/slipif.c
- # NETIFFILES: Add PPP netif
- NETIFFILES+=$(LWIPDIR)/netif/ppp/auth.c $(LWIPDIR)/netif/ppp/chap.c \
- $(LWIPDIR)/netif/ppp/chpms.c $(LWIPDIR)/netif/ppp/fsm.c \
- $(LWIPDIR)/netif/ppp/ipcp.c $(LWIPDIR)/netif/ppp/lcp.c \
- $(LWIPDIR)/netif/ppp/magic.c $(LWIPDIR)/netif/ppp/md5.c \
- $(LWIPDIR)/netif/ppp/pap.c $(LWIPDIR)/netif/ppp/ppp.c \
- $(LWIPDIR)/netif/ppp/randm.c $(LWIPDIR)/netif/ppp/vj.c
- # ARCHFILES: Architecture specific files.
- ARCHFILES=$(wildcard $(LWIPARCH)/*.c $(LWIPARCH)tapif.c $(LWIPARCH)/netif/list.c $(LWIPARCH)/netif/tcpdump.c)
- # LWIPFILES: All the above.
- LWIPFILES=$(COREFILES) $(CORE4FILES) $(SNMPFILES) $(APIFILES) $(NETIFFILES) $(ARCHFILES)
- LWIPFILESW=$(wildcard $(LWIPFILES))
- LWIPOBJS=$(notdir $(LWIPFILESW:.c=.o))
- LWIPLIB=liblwip.so
- %.o:
- $(CC) $(CFLAGS) -c $(<:.o=.c)
- all: $(LWIPLIB)
- .PHONY: all
- clean:
- rm -f *.o $(LWIPLIB) *.s .depend* *.core core
- depend dep: .depend
- include .depend
- $(LWIPLIB): $(LWIPOBJS)
- $(CC) -g -nostartfiles -shared -o $@ $^
- .depend: $(LWIPFILES)
- $(CCDEP) $(CFLAGS) -MM $^ > .depend || rm -f .depend
|