-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.common
131 lines (107 loc) · 4.57 KB
/
Makefile.common
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
all: binaries
CFLAGS += -g -Wall -O0
parser.o: parser.y
bison --output=parser.c --defines=parser.h --report=state parser.y
$(CC) $(CFLAGS) -c parser.c
lexer.o: lexer.l parser.o
flex -olexer.c lexer.l
$(CC) $(CFLAGS) -O2 -g -Wall -c lexer.c
fuzz_test_remove_duplicate: fuzz_test_remove_duplicate.c
gcc fuzz_test_remove_duplicate.c -o fuzz_test_remove_duplicate
packetdrill-lib := \
checksum.o code.o config.o hash.o hash_map.o ip_address.o ip_prefix.o \
netdev.o net_utils.o \
packet.o packet_socket_linux.o packet_socket_pcap.o \
packet_checksum.o packet_parser.o packet_to_string.o \
symbols_linux.o \
symbols_freebsd.o \
symbols_openbsd.o \
symbols_netbsd.o \
gre_packet.o icmp_packet.o ip_packet.o tcp_packet.o udp_packet.o \
mpls_packet.o \
run.o run_command.o run_packet.o run_system_call.o \
script.o socket.o system.o \
tcp_options.o tcp_options_iterator.o tcp_options_to_string.o \
logging.o types.o lexer.o parser.o \
fmemopen.o open_memstream.o \
link_layer.o wire_conn.o wire_protocol.o \
wire_client.o wire_client_netdev.o \
wire_server.o wire_server_netdev.o \
epoll.o pipe.o file.o so_testing.o wrap.o fuzz_test_result.o
packetdrill-objs := packetdrill.o $(packetdrill-lib)
packetdrill: $(packetdrill-objs)
$(CC) -o packetdrill -g /bin/lib_exfunc.o $(packetdrill-objs) $(packetdrill-ext-libs)
packetdrill_asan: $(packetdrill-objs)
clang-9 -g -fsanitize=address $(packetdrill-lib) packetdrill.o \
$(packetdrill-ext-libs) /bin/lib_exfunc.o \
-o packetdrill -lpthread -lpcap
packetdrill_old: $(packetdrill-objs)
clang-9 -g $(packetdrill-lib) packetdrill.o \
../../../tldk-old/libtldk.so /bin/lib_exfunc.o \
-o packetdrill_old -lpthread -lpcap
# test-bins := checksum_test packet_parser_test packet_to_string_test fuzz_test
# tests: $(test-bins)
# ./checksum_test
# ./packet_parser_test
# ./packet_to_string_test
# ./fuzz_test
binaries: packetdrill fuzz_test fuzz_test_remove_duplicate
checksum_test-objs := $(packetdrill-lib) checksum_test.o
checksum_test: $(checksum_test-objs)
$(CC) -o checksum_test $(checksum_test-objs) $(packetdrill-ext-libs)
packet_parser_test-objs := $(packetdrill-lib) packet_parser_test.o
packet_parser_test: $(packet_parser_test-objs)
$(CC) -o packet_parser_test $(packet_parser_test-objs) \
$(packetdrill-ext-libs)
fuzz_test-objs := fuzz_test_syscall.o fuzz_test_helper.o fuzz_test_script.o fuzz_test_packet.o fuzz_test.o $(packetdrill-lib)
fuzz_test: $(fuzz_test-objs) fuzz_test.h fuzz_test_header.h fuzz_test_syscall.h
$(CC) -o fuzz_test -g $(fuzz_test-objs) \
/bin/lib_exfunc.o \
$(packetdrill-ext-libs)
fuzz_test_debug: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
clang-9 -g -DDEBUG_FUZZ_LOGGING=1 $(fuzz_test-objs) \
$(TLDK_ROOT)/libtldk.so \
/bin/lib_exfunc.o \
-o fuzz_test -pthread -lpcap
fuzz_test_oldtldk: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
clang-9 -g $(fuzz_test-objs) \
../../../tldk-old/libtldk.so \
/bin/lib_exfunc.o \
-o fuzz_test -pthread -lpcap
fuzz_test_gcc: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
$(CC) $(fuzz_test-objs) \
$(TLDK_ROOT)/libtldk.so \
/bin/lib_exfunc.o \
-o fuzz_test -lpthread -lpcap
fuzz_test_asan: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
clang -g -fsanitize=address $(fuzz_test-objs) \
$(TLDK_ROOT)/libtldk.so -lnuma -lrt -ldl \
/bin/lib_exfunc.o \
-o fuzz_test -lpthread -lpcap
fuzz_test_asan_mtcp: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
clang -g -fsanitize=address $(fuzz_test-objs) \
-lnuma -lrt -ldl \
/bin/lib_exfunc.o \
-o fuzz_test -L$(MTCP_ROOT) -Wl,--whole-archive \
${LIBS} -lmtcp -Wl,--no-whole-archive -lnuma -lpthread -ldl -lrt -lpcap -lgmp
fuzz_test_ubsan: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
clang-9 -g -fsanitize=undefined $(fuzz_test-objs) \
$(TLDK_ROOT)/libtldk.so \
/bin/lib_exfunc.o \
-o fuzz_test -lpthread -lpcap
fuzz_test_normal: $(fuzz_test-objs)
# gcc -c -g fuzz_test.c
$(CC) -o fuzz_test $(fuzz_test-objs) $(packetdrill-ext-libs)
packet_to_string_test-objs := $(packetdrill-lib) packet_to_string_test.o
packet_to_string_test: $(packet_to_string_test-objs)
$(CC) -o packet_to_string_test $(packet_to_string_test-objs) \
$(packetdrill-ext-libs)
clean:
/bin/rm -f *.o *.ll packetdrill fuzz_test lexer.c parser.c parser.h parser.output \
fuzz_test_remove_duplicate