source: lib/Makefile.am @ 5964f52

develop
Last change on this file since 5964f52 was 5964f52, checked in by Richard Sanger <rsanger@…>, 2 years ago

Fix for issue #86 clobbered LDFLAGS

Save a copy of linker and preprocessor flags and restore them
after DPDK clobbers them.

  • Property mode set to 100644
File size: 3.7 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 format_dpdk.h
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)
45export SAVED_CPPFLAGS:=$(CPPFLAGS)
46export SAVED_LDFLAGS:=$(LDFLAGS)
47include $(RTE_SDK)/mk/rte.vars.mk
48# We need to add -Wl before the linker otherwise this breaks our build
49# And include any libraries that DPDK might depend upon
50export DPDK_LIBTRACE_MK=dpdk_libtrace.mk
51include $(DPDK_LIBTRACE_MK)
52export CFLAGS += $(SAVED_CFLAGS)
53export CXXFLAGS += $(SAVED_CXXFLAGS)
54export CPPFLAGS:=$(SAVED_CPPFLAGS)
55export LDFLAGS += $(SAVED_LDFLAGS)
56endif
57
58if HAVE_WANDDER
59ETSISOURCES=format_etsilive.c
60else
61ETSISOURCES=
62endif
63
64libtrace_la_SOURCES = trace.c trace_parallel.c common.h \
65                format_erf.c format_pcap.c format_legacy.c \
66                format_rt.c format_helper.c format_helper.h format_pcapfile.c \
67                format_duck.c format_tsh.c $(NATIVEFORMATS) $(BPFFORMATS) \
68                format_atmhdr.c format_pcapng.c \
69                libtrace_int.h lt_inttypes.h lt_bswap.h \
70                linktypes.c link_wireless.c byteswap.c \
71                checksum.c checksum.h \
72                protocols_pktmeta.c protocols_l2.c protocols_l3.c \
73                protocols_transport.c protocols.h protocols_ospf.c \
74                protocols_application.c \
75                $(DAGSOURCE) format_erf.h format_ndag.c format_ndag.h \
76                $(BPFJITSOURCE) $(ETSISOURCES) \
77                libtrace_arphrd.h \
78                data-struct/ring_buffer.c data-struct/vector.c \
79                data-struct/message_queue.c data-struct/deque.c \
80                data-struct/sliding_window.c data-struct/object_cache.c \
81                data-struct/linked_list.c hash_toeplitz.c combiner_ordered.c \
82                data-struct/buckets.c data-struct/simple_circular_buffer.c \
83                combiner_sorted.c combiner_unordered.c \
84                pthread_spinlock.c pthread_spinlock.h \
85                strndup.c
86
87if DAG2_4
88nodist_libtrace_la_SOURCES = dagopts.c dagapi.c
89endif
90
91AM_CPPFLAGS= @ADD_INCLS@
92libtrace_la_LIBADD = @LIBTRACE_LIBS@ @LTLIBOBJS@ $(DPDKLIBS)
93libtrace_la_LDFLAGS=-version-info @LIBTRACE_MAJOR@:@LIBTRACE_MINOR@:@LIBTRACE_MID@ @ADD_LDFLAGS@
94dagapi.c:
95        cp @DAG_TOOLS_DIR@/dagapi.c .
96
97dagopts.c:
98        cp @DAG_TOOLS_DIR@/dagopts.c .
99
100if HAVE_LLVM
101# Rules to build the llvm .cc file from a C description of each opcode.
102bpf-jit/bpf-opcodes.llvm.bc: bpf-jit/bpf-opcodes.c
103        $(LLVM_GCC) -std=c99 -c -O0 -emit-llvm $< -o $@
104
105bpf-jit/bpf-opcodes.llvm.cc: bpf-jit/bpf-opcodes.llvm.bc
106        `$(LLVM_CONFIG) --bindir`/llc -march=cpp -cppgen=module $< -o $@
107
108bpf-jit/bpf-jit.cc: bpf-jit/bpf-opcodes.llvm.cc
109
110EXTRA_DIST+=bpf-jit/bpf-opcodes.c
111BUILT_SOURCES=bpf-jit/bpf-opcodes.llvm.cc
112endif
113CLEANFILES=bpf-jit/bpf-opcodes.llvm.cc bpf-jit/bpf-opcodes.llvm.bc
Note: See TracBrowser for help on using the repository browser.