source: lib/Makefile.am @ b663d33

cachetimestampsdevelopetsiliverc-4.0.4ringdecrementfixringperformance
Last change on this file since b663d33 was b663d33, checked in by Shane Alcock <salcock@…>, 2 years ago

etsilive format is now functional (for single-threaded only).

Packets are decoded using libwandder. The ETSI headers are treated
as a meta-data layer.

Libpacketdump support has also been added for all fields and
structures that libwandder understands.

  • Property mode set to 100644
File size: 3.5 KB
Line 
1lib_LTLIBRARIES = libtrace.la
2include_HEADERS = libtrace.h libtrace_parallel.h
3pkginclude_HEADERS = dagformat.h lt_inttypes.h daglegacy.h \
4        rt_protocol.h erftypes.h pthread_spinlock.h \
5        data-struct/ring_buffer.h data-struct/object_cache.h \
6        data-struct/vector.h \
7        data-struct/deque.h data-struct/linked_list.h \
8        data-struct/buckets.h data-struct/sliding_window.h \
9        data-struct/message_queue.h hash_toeplitz.h \
10        data-struct/simple_circular_buffer.h
11
12AM_CFLAGS=@LIBCFLAGS@ @CFLAG_VISIBILITY@ -pthread
13AM_CXXFLAGS=@LIBCXXFLAGS@ @CFLAG_VISIBILITY@ -pthread
14
15extra_DIST = format_template.c
16NATIVEFORMATS=format_linux_common.c format_linux_ring.c format_linux_int.c format_linux_common.h
17BPFFORMATS=format_bpf.c
18
19if HAVE_DAG
20if DAG2_4
21DAGSOURCE=format_dag24.c
22else
23DAGSOURCE=format_dag25.c
24endif
25else
26DAGSOURCE=
27endif
28EXTRA_DIST=format_dag24.c format_dag25.c dpdk_libtrace.mk
29
30if HAVE_LLVM
31BPFJITSOURCE=bpf-jit/bpf-jit.cc
32else
33BPFJITSOURCE=
34endif
35
36if HAVE_DPDK
37NATIVEFORMATS+= format_dpdk.c format_dpdkndag.c
38# So we also make libtrace.mk in dpdk otherwise automake tries to expand
39# it too early which I cannot seem to stop unless we use a path that
40# doesn't exist currently
41export RTE_SDK=@RTE_SDK@
42export RTE_TARGET=@RTE_TARGET@
43export SAVED_CFLAGS:=$(CFLAGS)
44export SAVED_CXXFLAGS:=$(CXXFLAGS)
45include $(RTE_SDK)/mk/rte.vars.mk
46# We need to add -Wl before the linker otherwise this breaks our build
47# And include any libraries that DPDK might depend upon
48export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
49include $(DPDK_LIBTRACE_MK)
50export CFLAGS += $(SAVED_CFLAGS)
51export CXXFLAGS += $(SAVED_CXXFLAGS)
52endif
53
54if HAVE_WANDDER
55ETSISOURCES=format_etsilive.c
56else
57ETSISOURCES=
58endif
59
60libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
61                format_erf.c format_pcap.c format_legacy.c \
62                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
63                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
64                format_atmhdr.c format_pcapng.c \
65                libtrace_int.h lt_inttypes.h lt_bswap.h \
66                linktypes.c link_wireless.c byteswap.c \
67                checksum.c checksum.h \
68                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
69                protocols_transport.c protocols.h protocols_ospf.c \
70                protocols_application.c \
71                $(DAGSOURCE) format_erf.h format_ndag.c format_ndag.h \
72                $(BPFJITSOURCE) $(ETSISOURCES) \
73                libtrace_arphrd.h \
74                data-struct/ring_buffer.c data-struct/vector.c \
75                data-struct/message_queue.c data-struct/deque.c \
76                data-struct/sliding_window.c data-struct/object_cache.c \
77                data-struct/linked_list.c hash_toeplitz.c combiner_ordered.c \
78                data-struct/buckets.c data-struct/simple_circular_buffer.c \
79                combiner_sorted.c combiner_unordered.c \
80                pthread_spinlock.c pthread_spinlock.h
81
82if DAG2_4
83nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
84endif
85
86AM_CPPFLAGS= @ADD_INCLS@
87libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
88libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
89dagapi.c:
90        cp @DAG_TOOLS_DIR@/dagapi.c .
91
92dagopts.c:
93        cp @DAG_TOOLS_DIR@/dagopts.c .
94
95if HAVE_LLVM
96# Rules to build the llvm .cc file from a C description of each opcode.
97bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
98        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
99
100bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
101        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
102
103bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
104
105EXTRA_DIST+=bpf-jit/bpf-opcodes.c
106BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
107endif
108CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.