1 Star 0 Fork 100

hos-learning / third_party_lwip

forked from OpenHarmony / third_party_lwip 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
0001-add-makefile.patch 7.19 KB
一键复制 编辑 原始数据 按行查看 历史
Aurora 提交于 2023-12-07 03:26 . update lwip to 2.1.3-39.oe2203sp1
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
1
https://gitee.com/hos-learning/third_party_lwip.git
git@gitee.com:hos-learning/third_party_lwip.git
hos-learning
third_party_lwip
third_party_lwip
master

搜索帮助