-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.nosgx
139 lines (116 loc) · 5.8 KB
/
Makefile.nosgx
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
132
133
134
135
136
137
138
139
CC=gcc
CFLAGS=-m64 -pthread -march=native -g -O2 -m64 -Wall -fPIC -fgnu89-inline -Werror
DEFS_RTE=-DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 \
-DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES \
-DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_MACHINE_CPUFLAG_RDRAND \
-DRTE_MACHINE_CPUFLAG_FSGSBASE -DRTE_MACHINE_CPUFLAG_F16C -DRTE_MACHINE_CPUFLAG_AVX2
DEFS=-DNETSTAT -DINFO -DDBGERR -DDBGCERR -DDBGFUNC -DSTREAM -DSTATE -DTSTAT -DAPP -DEPOLL \
-DDISABLE_PSIO -DDISABLE_NETMAP -DENABLE_UCTX
INCLUDE=-I./dpdk/x86_64-native-linuxapp-gcc/include \
-include ./dpdk/x86_64-native-linuxapp-gcc/include/rte_config.h \
-I./mtcp/src/include -I./io_engine/include -I./util/include -I./intel_lthread/include -I./intel_lthread/arch/x86/include
LDFLAGS=-pthread -lrt -march=native -lpthread -ldl -lnuma
DPDK_LDFLAGS=-lpthread -L./dpdk/x86_64-native-linuxapp-gcc/lib -L./dpdk/x86_64-native-linuxapp-gcc/lib \
-Wl,-lrte_flow_classify -Wl,--whole-archive -Wl,-lrte_pipeline -Wl,--no-whole-archive -Wl,--whole-archive \
-Wl,-lrte_table -Wl,--no-whole-archive -Wl,--whole-archive -Wl,-lrte_port -Wl,--no-whole-archive -Wl,-lrte_pdump \
-Wl,-lrte_distributor -Wl,-lrte_ip_frag -Wl,-lrte_meter -Wl,-lrte_lpm -Wl,--whole-archive -Wl,-lrte_acl \
-Wl,--no-whole-archive -Wl,-lrte_jobstats -Wl,-lrte_metrics -Wl,-lrte_bitratestats -Wl,-lrte_latencystats \
-Wl,-lrte_power -Wl,-lrte_efd -Wl,-lrte_bpf -Wl,--whole-archive -Wl,-lrte_cfgfile -Wl,-lrte_gro -Wl,-lrte_gso \
-Wl,-lrte_hash -Wl,-lrte_member -Wl,-lrte_vhost -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lrte_net -Wl,-lrte_ethdev \
-Wl,-lrte_bbdev -Wl,-lrte_cryptodev -Wl,-lrte_security -Wl,-lrte_compressdev -Wl,-lrte_eventdev -Wl,-lrte_rawdev \
-Wl,-lrte_timer -Wl,-lrte_mempool -Wl,-lrte_mempool_ring -Wl,-lrte_ring -Wl,-lrte_pci -Wl,-lrte_eal \
-Wl,-lrte_cmdline -Wl,-lrte_reorder -Wl,-lrte_sched -Wl,-lrte_kni -Wl,-lrte_common_cpt -Wl,-lrte_common_octeontx \
-Wl,-lrte_common_dpaax -Wl,-lrte_bus_pci -Wl,-lrte_bus_vdev -Wl,-lrte_bus_dpaa -Wl,-lrte_bus_fslmc \
-Wl,-lrte_mempool_bucket -Wl,-lrte_mempool_stack -Wl,-lrte_mempool_dpaa -Wl,-lrte_mempool_dpaa2 \
-Wl,-lrte_pmd_af_packet -Wl,-lrte_pmd_ark -Wl,-lrte_pmd_atlantic -Wl,-lrte_pmd_avf -Wl,-lrte_pmd_avp \
-Wl,-lrte_pmd_axgbe -Wl,-lrte_pmd_bnxt -Wl,-lrte_pmd_bond -Wl,-lrte_pmd_cxgbe -Wl,-lrte_pmd_dpaa \
-Wl,-lrte_pmd_dpaa2 -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ena -Wl,-lrte_pmd_enetc -Wl,-lrte_pmd_enic \
-Wl,-lrte_pmd_fm10k -Wl,-lrte_pmd_failsafe -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_kni \
-Wl,-lrte_pmd_lio -Wl,-lrte_pmd_nfp -Wl,-lrte_pmd_null -Wl,-lrte_pmd_qede -Wl,-lrte_pmd_ring -Wl,-lrte_pmd_softnic \
-Wl,-lrte_pmd_sfc_efx -Wl,-lrte_pmd_tap -Wl,-lrte_pmd_thunderx_nicvf -Wl,-lrte_pmd_vdev_netvsc -Wl,-lrte_pmd_virtio \
-Wl,-lrte_pmd_vhost -Wl,-lrte_pmd_ifc -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_bus_vmbus -Wl,-lrte_pmd_netvsc \
-Wl,-lrte_pmd_bbdev_null -Wl,-lrte_pmd_null_crypto -Wl,-lrte_pmd_octeontx_crypto -Wl,-lrte_pmd_crypto_scheduler \
-Wl,-lrte_pmd_dpaa2_sec -Wl,-lrte_pmd_dpaa_sec -Wl,-lrte_pmd_caam_jr -Wl,-lrte_pmd_virtio_crypto \
-Wl,-lrte_pmd_octeontx_zip -Wl,-lrte_pmd_qat -Wl,-lrte_pmd_skeleton_event -Wl,-lrte_pmd_sw_event \
-Wl,-lrte_pmd_dsw_event -Wl,-lrte_pmd_octeontx_ssovf -Wl,-lrte_pmd_dpaa_event -Wl,-lrte_pmd_dpaa2_event \
-Wl,-lrte_mempool_octeontx -Wl,-lrte_pmd_octeontx -Wl,-lrte_pmd_opdl_event -Wl,-lrte_pmd_skeleton_rawdev \
-Wl,-lrte_pmd_dpaa2_cmdif -Wl,-lrte_pmd_dpaa2_qdma -Wl,-lrte_bus_ifpga -Wl,-lrte_pmd_ifpga_rawdev \
-Wl,-lrte_pmd_mlx5 -Wl,-libverbs -Wl,-lmlx5 -Wl,-lmnl \
-Wl,--no-whole-archive -Wl,-lrt -Wl,-lm -Wl,-lnuma -Wl,-ldl
all: untrustedlib
#######################
# lthread library #
#######################
LTHREAD_FILES= \
intel_lthread/lthread.o \
intel_lthread/lthread_cond.o \
intel_lthread/lthread_mutex.o \
intel_lthread/lthread_sched.o \
intel_lthread/lthread_tls.o \
intel_lthread/arch/x86/ctx.o
intel_lthread/%.o: intel_lthread/%.c
$(CC) $(CFLAGS) $(DEFS_RTE) $(DEFS) -D_GNU_SOURCE $(INCLUDE) -c $< -o $@
intel_lthread/arch/x86/%.o: intel_lthread/arch/x86/%.c
$(CC) $(CFLAGS) $(DEFS_RTE) $(DEFS) -D_GNU_SOURCE $(INCLUDE) -c $< -o $@
lthread_files: $(LTHREAD_FILES)
#######################
# mtcp library #
#######################
MTCPLIB_FILES= \
mtcp/src/core.o \
mtcp/src/tcp_stream.o \
mtcp/src/config.o \
mtcp/src/api.o \
mtcp/src/eventpoll.o \
mtcp/src/socket.o \
mtcp/src/pipe.o \
mtcp/src/tcp_util.o \
mtcp/src/eth_in.o \
mtcp/src/ip_in.o \
mtcp/src/tcp_in.o \
mtcp/src/eth_out.o \
mtcp/src/ip_out.o \
mtcp/src/tcp_out.o \
mtcp/src/arp.o \
mtcp/src/timer.o \
mtcp/src/cpu.o \
mtcp/src/rss.o \
mtcp/src/addr_pool.o \
mtcp/src/fhash.o \
mtcp/src/memory_mgt.o \
mtcp/src/logger.o \
mtcp/src/debug.o \
mtcp/src/tcp_rb_frag_queue.o \
mtcp/src/tcp_ring_buffer.o \
mtcp/src/tcp_send_buffer.o \
mtcp/src/tcp_sb_queue.o \
mtcp/src/tcp_stream_queue.o \
mtcp/src/psio_module.o \
mtcp/src/io_module.o \
mtcp/src/dpdk_module.o \
mtcp/src/netmap_module.o \
mtcp/src/onvm_module.o \
mtcp/src/icmp.o \
mtcp/src/schedule.o \
mtcp/src/thread_wrapper.o \
mtcp/src/%.o: mtcp/src/%.c
$(CC) $(CFLAGS) $(DEFS_RTE) $(DEFS) -D_GNU_SOURCE $(INCLUDE) -c $< -o $@
mtcplib_files: lthread_files $(MTCPLIB_FILES)
#######################
# util files #
#######################
UTIL_FILES= \
util/util.o
util/%.o: util/%.c
$(CC) $(CFLAGS) $(DEFS_RTE) $(DEFS) -D_GNU_SOURCE $(INCLUDE) -c $< -o $@
util_files: $(UTIL_FILES)
#######################
# untrustedlib #
#######################
untrustedlib: lthread_files mtcplib_files util_files
-mkdir ./lib
ar rvs ./lib/libuntrusted.a $(MTCPLIB_FILES) $(LTHREAD_FILES) $(UTIL_FILES)
clean:
-find . -iname "*\.o" -delete
-find . -iname "*\.i" -delete
-rm -f ./lib/libuntrusted.a