Projects
Eulaceura:Mainline
lwip
_service:obs_scm:0001-add-makefile.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0001-add-makefile.patch of Package lwip
From 777db45e3ae9c17abf397daf79a129ad5ed1e0cf Mon Sep 17 00:00:00 2001 From: peanut_huang <huangliming5@huawei.com> Date: Mon, 30 Nov 2020 06:53:46 +0000 Subject: [PATCH] add makefile Signed-off-by: peanut_huang <huangliming5@huawei.com> --- src/Makefile | 60 ++++++++++++++++++++++++++++ src/api/dir.mk | 3 ++ src/core/dir.mk | 6 +++ src/include/arch/cc.h | 7 ++++ src/include/arch/sys_arch.h | 7 ++++ src/include/lwipopts.h | 80 +++++++++++++++++++++++++++++++++++++ src/netif/dir.mk | 3 ++ 7 files changed, 166 insertions(+) create mode 100644 src/Makefile create mode 100644 src/api/dir.mk create mode 100644 src/core/dir.mk create mode 100644 src/include/arch/cc.h create mode 100644 src/include/arch/sys_arch.h create mode 100644 src/include/lwipopts.h create mode 100644 src/netif/dir.mk diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..3ecf8d2 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,60 @@ +LWIP_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) +ROOT_DIR := $(dir $(abspath $(LWIP_DIR))) + +LWIP_INC = $(LWIP_DIR)/include +#DPDK_INCLUDE_FILE ?= /usr/include/dpdk + +SEC_FLAGS = -fstack-protector-strong -Werror -Wall -Wl,-z,relro,-z,now -Wl,-z,noexecstack -Wtrampolines -fPIC + +CC = gcc +AR = ar +OPTIMIZATION = -O3 +INC = -I$(LWIP_DIR) \ + -I$(LWIP_INC) + +CFLAGS = -g $(OPTIMIZATION) $(INC) $(SEC_FLAGS) +ARFLAGS = crDP + +ifeq ($(shell $(CC) -dumpmachine | cut -d"-" -f1), x86_64) + CFLAGS += -mssse3 +endif + +SRCS = +DIRS = api core netif + +define register_dir +SRCS += $(patsubst %, $(1)/%, $(2)) +endef + +include $(patsubst %, %/dir.mk, $(DIRS)) + +OBJS = $(subst .c,.o,$(SRCS)) +TMPS := $(subst .c,.s,$(SRCS)) +TMPS += $(subst .c,.i,$(SRCS)) + +LWIP_LIB = liblwip.a + +INSTALL_LIB = $(DESTDIR)/usr/lib64 +INSTALL_INC = $(DESTDIR)/usr/include/lwip + +.PHONY: all +all: $(LWIP_LIB) + +.depend: $(SRCS) + rm -f ./.depend + $(foreach SRC,$(SRCS),$(CC) $(CFLAGS) -MM -MT $(SRC:.c=.o) $(SRC) >> .depend;) + +-include .depend + +$(LWIP_LIB): $(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) + +.PHONY: install +install: + install -dp $(INSTALL_LIB) $(INSTALL_INC) + install -Dp $(LWIP_DIR)/$(LWIP_LIB) $(INSTALL_LIB) + cp -pr $(LWIP_INC)/* $(INSTALL_INC)/ + +.PHONY: clean +clean: + $(RM) $(LWIP_LIB) $(OBJS) $(TMPS) .depend diff --git a/src/api/dir.mk b/src/api/dir.mk new file mode 100644 index 0000000..72142ab --- /dev/null +++ b/src/api/dir.mk @@ -0,0 +1,3 @@ +SRC = api_lib.c api_msg.c err.c netbuf.c netdb.c netifapi.c sockets.c tcpip.c + +$(eval $(call register_dir, api, $(SRC))) diff --git a/src/core/dir.mk b/src/core/dir.mk new file mode 100644 index 0000000..e5a055b --- /dev/null +++ b/src/core/dir.mk @@ -0,0 +1,6 @@ +SRC = inet_chksum.c init.c ip.c mem.c memp.c netif.c pbuf.c \ + raw.c stats.c tcp.c tcp_in.c tcp_out.c timeouts.c udp.c \ + ipv4/etharp.c ipv4/icmp.c ipv4/ip4_addr.c ipv4/ip4.c \ + ipv4/ip4_frag.c + +$(eval $(call register_dir, core, $(SRC))) diff --git a/src/include/arch/cc.h b/src/include/arch/cc.h new file mode 100644 index 0000000..52b76f9 --- /dev/null +++ b/src/include/arch/cc.h @@ -0,0 +1,7 @@ +#ifndef LWIP_CC_H +#define LWIP_CC_H + + + +#endif /* LWIP_CC_H */ + diff --git a/src/include/arch/sys_arch.h b/src/include/arch/sys_arch.h new file mode 100644 index 0000000..3f555ee --- /dev/null +++ b/src/include/arch/sys_arch.h @@ -0,0 +1,7 @@ +#ifndef LWIP_SYS_ARCH_H +#define LWIP_SYS_ARCH_H + + + +#endif /* LWIP_SYS_ARCH_H */ + diff --git a/src/include/lwipopts.h b/src/include/lwipopts.h new file mode 100644 index 0000000..4ab26f2 --- /dev/null +++ b/src/include/lwipopts.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2001-2003 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: Simon Goldschmidt + * + */ +#ifndef LWIP_HDR_LWIPOPTS_H__ +#define LWIP_HDR_LWIPOPTS_H__ + +/* Prevent having to link sys_arch.c (we don't test the API layers in unit tests) */ +#define NO_SYS 1 +#define LWIP_NETCONN 0 +#define LWIP_SOCKET 0 +#define SYS_LIGHTWEIGHT_PROT 0 + +#define LWIP_IPV6 1 +#define IPV6_FRAG_COPYHEADER 1 +#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 0 + +/* Enable some protocols to test them */ +#define LWIP_DHCP 1 +#define LWIP_AUTOIP 1 + +#define LWIP_IGMP 1 +#define LWIP_DNS 1 + +#define LWIP_ALTCP 1 + +/* Turn off checksum verification of fuzzed data */ +#define CHECKSUM_CHECK_IP 0 +#define CHECKSUM_CHECK_UDP 0 +#define CHECKSUM_CHECK_TCP 0 +#define CHECKSUM_CHECK_ICMP 0 +#define CHECKSUM_CHECK_ICMP6 0 + +/* Minimal changes to opt.h required for tcp unit tests: */ +#define MEM_SIZE 16000 +#define TCP_SND_QUEUELEN 40 +#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN +#define TCP_OVERSIZE 1 +#define TCP_SND_BUF (12 * TCP_MSS) +#define TCP_WND (10 * TCP_MSS) +#define LWIP_WND_SCALE 1 +#define TCP_RCV_SCALE 2 +#define PBUF_POOL_SIZE 400 /* pbuf tests need ~200KByte */ + +/* Minimal changes to opt.h required for etharp unit tests: */ +#define ETHARP_SUPPORT_STATIC_ENTRIES 1 + +#define LWIP_NUM_NETIF_CLIENT_DATA 1 +#define LWIP_SNMP 1 +#define MIB2_STATS 1 +#define LWIP_MDNS_RESPONDER 1 + +#endif /* LWIP_HDR_LWIPOPTS_H__ */ diff --git a/src/netif/dir.mk b/src/netif/dir.mk new file mode 100644 index 0000000..233c79a --- /dev/null +++ b/src/netif/dir.mk @@ -0,0 +1,3 @@ +SRC = ethernet.c + +$(eval $(call register_dir, netif, $(SRC))) -- 2.23.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2