blob: 9b812cefebc55c0133477a27e65cea1b88f8f804 [file] [log] [blame]
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01001# This is _NOT_ the library release version, it's an API version.
2# Please read chapter "Library interface versions" of the libtool documentation
3# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
4LIBVERSION=19:0:0
5
Pau Espin Pedrol88955fb2023-01-18 18:54:00 +01006AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01007AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) $(LIBMNL_CFLAGS)
8
9if ENABLE_PSEUDOTALLOC
10AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc
11endif
12
13lib_LTLIBRARIES = libosmocore.la
14
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010015libosmocore_la_LIBADD = \
16 $(BACKTRACE_LIB) \
17 $(TALLOC_LIBS) \
18 $(LIBRARY_RT) \
19 $(PTHREAD_LIBS) \
20 $(LIBSCTP_LIBS) \
21 $(NULL)
22
23libosmocore_la_SOURCES = \
24 application.c \
25 backtrace.c \
26 base64.c \
27 bits.c \
28 bitvec.c \
29 bitcomp.c \
30 context.c \
31 conv.c \
32 conv_acc.c \
33 conv_acc_generic.c \
34 counter.c \
35 crc16.c \
36 crc8gen.c \
37 crc16gen.c \
38 crc32gen.c \
39 crc64gen.c \
40 exec.c \
41 fsm.c \
42 gsmtap_util.c \
43 isdnhdlc.c \
44 it_q.c \
45 logging.c \
46 logging_syslog.c \
47 logging_gsmtap.c \
48 loggingrb.c \
49 macaddr.c \
50 msgb.c \
51 panic.c \
52 prbs.c \
53 prim.c \
54 rate_ctr.c \
55 rbtree.c \
56 select.c \
57 sercomm.c \
58 signal.c \
59 sockaddr_str.c \
60 socket.c \
61 stat_item.c \
62 stats.c \
63 stats_statsd.c \
64 stats_tcp.c \
65 strrb.c \
66 tdef.c \
67 thread.c \
68 time_cc.c \
69 timer.c \
70 timer_gettimeofday.c \
71 timer_clockgettime.c \
72 use_count.c \
73 utils.c \
74 write_queue.c \
75 probes.d \
76 $(NULL)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +010077
78if HAVE_SSSE3
79libosmocore_la_SOURCES += conv_acc_sse.c
80if HAVE_SSE4_1
81conv_acc_sse.lo : AM_CFLAGS += -mssse3 -msse4.1
82else
83conv_acc_sse.lo : AM_CFLAGS += -mssse3
84endif
85
86if HAVE_AVX2
87libosmocore_la_SOURCES += conv_acc_sse_avx.c
88if HAVE_SSE4_1
89conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2 -msse4.1
90else
91conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2
92endif
93endif
94endif
95
96if HAVE_NEON
97libosmocore_la_SOURCES += conv_acc_neon.c
98# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon
99endif
100
101BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
102
103EXTRA_DIST = \
104 conv_acc_sse_impl.h \
105 conv_acc_neon_impl.h \
106 crcXXgen.c.tpl \
107 stat_item_internal.h \
108 $(NULL)
109
110libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined
111
112if ENABLE_PLUGIN
113libosmocore_la_SOURCES += plugin.c
114libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
115endif
116
117if ENABLE_MSGFILE
118libosmocore_la_SOURCES += msgfile.c
119endif
120
121if ENABLE_SERIAL
122libosmocore_la_SOURCES += serial.c
123endif
124
125if ENABLE_SYSTEMD_LOGGING
126libosmocore_la_SOURCES += logging_systemd.c
127libosmocore_la_LIBADD += $(SYSTEMD_LIBS)
128endif
129
130if ENABLE_LIBMNL
131libosmocore_la_SOURCES += mnl.c
132libosmocore_la_LIBADD += $(LIBMNL_LIBS)
133endif
134
135if ENABLE_SYSTEMTAP
136probes.h: probes.d
137 $(DTRACE) -C -h -s $< -o $@
138
139probes.lo: probes.d
140 $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
141
142BUILT_SOURCES += probes.h probes.lo
143libosmocore_la_LIBADD += probes.lo
144endif
145
146crc%gen.c: crcXXgen.c.tpl
147 $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@