forked from rootless-containers/slirp4netns
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.am
114 lines (96 loc) · 3.39 KB
/
Makefile.am
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
bin_PROGRAMS = slirp4netns
AM_CFLAGS = -I $(abs_top_srcdir)/rd235_libslirp/include -I$(abs_top_srcdir)/rd235_libslirp/src -I$(abs_top_srcdir)/qemu/include -I$(abs_top_srcdir)/qemu/slirp -I$(abs_top_srcdir)/parson
noinst_LIBRARIES = libqemu_slirp.a libslirp.a libparson.a
AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$(PATH)"
TESTS = tests/test-slirp4netns.sh tests/test-slirp4netns-configure.sh tests/test-slirp4netns-exit-fd.sh tests/test-slirp4netns-ready-fd.sh tests/test-slirp4netns-api-socket.sh tests/test-slirp4netns-disable-host-loopback.sh tests/test-slirp4netns-cidr.sh
EXTRA_DIST = \
slirp4netns.1.md \
slirp4netns.1 \
$(TESTS) \
tests/common.sh \
slirp4netns.h \
api.h \
qemu/include/qemu/queue.h \
qemu/slirp/slirp.h \
qemu/slirp/tcp_var.h \
qemu/slirp/ip6.h \
qemu/slirp/bootp.h \
qemu/slirp/tcp.h \
qemu/slirp/ip_icmp.h \
qemu/slirp/main.h \
qemu/slirp/udp.h \
qemu/slirp/tcp_timer.h \
qemu/slirp/socket.h \
qemu/slirp/sbuf.h \
qemu/slirp/slirp_config.h \
qemu/slirp/misc.h \
qemu/slirp/if.h \
qemu/slirp/dhcpv6.h \
qemu/slirp/mbuf.h \
qemu/slirp/debug.h \
qemu/slirp/libslirp.h \
qemu/slirp/ip.h \
qemu/slirp/ip6_icmp.h \
qemu/slirp/tcpip.h \
rd235_libslirp/include/qemu/osdep.h \
rd235_libslirp/src/qemu2libslirp.h \
parson/parson.h
libqemu_slirp_a_SOURCES = \
qemu/slirp/arp_table.c \
qemu/slirp/bootp.c \
qemu/slirp/cksum.c \
qemu/slirp/dhcpv6.c \
qemu/slirp/dnssearch.c \
qemu/slirp/if.c \
qemu/slirp/ip6_icmp.c \
qemu/slirp/ip6_input.c \
qemu/slirp/ip6_output.c \
qemu/slirp/ip_icmp.c \
qemu/slirp/ip_input.c \
qemu/slirp/ip_output.c \
qemu/slirp/mbuf.c \
qemu/slirp/misc.c \
qemu/slirp/ndp_table.c \
qemu/slirp/sbuf.c \
qemu/slirp/slirp.c \
qemu/slirp/socket.c \
qemu/slirp/tcp_input.c \
qemu/slirp/tcp_output.c \
qemu/slirp/tcp_subr.c \
qemu/slirp/tcp_timer.c \
qemu/slirp/udp6.c \
qemu/slirp/udp.c
libslirp_a_SOURCES = rd235_libslirp/src/qemu2libslirp.c
# define specific commit if git available or it was replaced during git-archive creation
COMMIT := $(shell V=$Format:%H$ ; \
expr match "$$V" ormat: >/dev/null \
&& (cd "$$abs_srcdir" && [ -d .git ] && git describe --always --abbrev=0 --dirty --exclude=\* || echo unknown) \
|| echo "$$V" )
DEFINE_COMMIT = -DCOMMIT="\"$(COMMIT)\""
slirp4netns_CFLAGS = $(AM_CFLAGS) $(DEFINE_COMMIT)
libparson_a_SOURCES = parson/parson.c
slirp4netns_SOURCES = main.c slirp4netns.c api.c
slirp4netns_LDADD = libslirp.a libqemu_slirp.a libparson.a
man1_MANS = slirp4netns.1
generate-man:
go-md2man -in slirp4netns.1.md -out slirp4netns.1
CLANGTIDY = clang-tidy -warnings-as-errors='*'
lint:
$(CLANGTIDY) $(slirp4netns_SOURCES) -- $(AM_CFLAGS)
lint-full:
$(CLANGTIDY) $(slirp4netns_SOURCES) $(libqemu_slirp_a_SOURCES) $(libparson_a_SOURCES) -- $(AM_CFLAGS)
indent:
# indent(1): "You must use the ‘-T’ option to tell indent the name of all the typenames in your program that are defined by typedef."
indent -linux -l120 -T ssize_t -T pid_t -T SLIRP -T JSON_Object -T JSON_Value -T regex_t -T regmatch_t $(slirp4netns_SOURCES)
$(RM) *.c~
benchmark:
benchmarks/benchmark-iperf3.sh
benchmarks/benchmark-iperf3-reverse.sh
ci:
$(MAKE) indent
test -z "$(git diff)"
$(MAKE) lint
$(MAKE) -j $(shell nproc) distcheck
PATH=$(shell pwd):$$PATH $(MAKE) benchmark MTU=1500
PATH=$(shell pwd):$$PATH $(MAKE) benchmark MTU=65520
.PHONY: generate-man lint lint-full indent benchmark ci